我不确定我是否需要一个向量,但我认为我不能使用数组,因为我没有固定的大小。
我有一个 Singleton 类Song
,它有一个成员vector<float> samples;
和一个方法getSamples(int numberOfSamples)
当调用这个方法时,我想让向量具有正确的大小(基于numberOfSamples
),而不是可能多次更新它的一些值。
vector<float> &Song::getSamples(int numberOfSamples){
for(int i = 0; i < numberOfFrames; i++)
this->samples.push_back(0);
}
例如,如何将第三个值更改为 3 而不是 0?使用数组这样做会容易得多,samples[2] = 3;
但问题是在调用 getSamples 方法之前我不知道向量/数组的长度。而且我认为不断迭代不是一个好主意,因为numberOfSamples
它可能非常大,而且我可能需要将每个值更新多达五次。