如果必須爲向量賦值char數組,首先保留向量大小然後賦值給它是好習慣嗎?向量複製然後賦值可以提高性能
這會提高性能嗎?編譯器不需要分配幾次internaly所以它應該提高性能,但我不知道。編譯器不需要分配幾次內部所以它應該提高性能,但我不確定。 分配前是否已經考慮到這一點?
doese assign(reserve)先分配大小再插入/複製?
注: - 附分配我的意思是在向量分配函數(的std ::矢量::分配)
例如: -
void test_func(char* bigarray)
{
std::vector<char> v_data;
int len=strlen(bigarray);
v_data.reserve(len);
v_data.assign(bigarray,bigarray+len);
}
請發佈您使用的代碼 –
謝謝。我加了代碼,現在問題更加清楚 –