在我的头文件中,我有一个映射字段:
我知道这个向量的长度是50。我该如何设置这个向量的大小?
如果这个字段是一个独立的向量,那么设置大小就很简单。但是由于它嵌套在一个映射中,我不知道怎么办。
下面的代码会因为向量长度而抛出语法错误:
std::map<std::string, std::vector<double>> priceSMA;
我知道这个向量的长度是50。我该如何设置这个向量的大小?
如果这个字段是一个独立的向量,那么设置大小就很简单。但是由于它嵌套在一个映射中,我不知道怎么办。
下面的代码会因为向量长度而抛出语法错误:
priceSMA = std::map<std::string, std::vector<double>(50)>();
感谢您的求助。
编辑
为了进一步澄清,prceSMA
键将被填充一个货币标识符,例如"USD"
。该向量用于存储此货币的最后50个值,其中每个值都有一个特定的时间戳。当填充完前50个值后,当我们跳到下一个时间戳时,向量中的所有当前值都会向右移动一个值,并将向量的最后(第50个)项目填充为当前时间戳的新值。
在移位之前,我计算向量中50个值的平均值,并将其存储在其他地方。
这个想法是获得一段时间内的简单移动平均值。
std::map<std::string,std::array<double,50>>
? - 463035818_is_not_a_numberpriceSMA
应该模拟什么。地图的元素是什么? - 463035818_is_not_a_number