我有一段用指针和动态内存编写的性能关键代码。 我想用 STL 容器重写它,但我有点担心性能。有没有办法在不初始化数据的情况下增加容器的大小?
例如,而不是做
ptr = new BYTE[x];
我想做类似的事情
vec.insert(vec.begin(), x, 0);
然而,这会将每个字节初始化为 0。难道没有办法让 vector 增长吗? 我知道 reserve() 但它只是分配内存,它不会改变 vector 的大小,并且在我插入有效数据之前不允许我访问它。
谢谢大家
最佳答案
vector.resize(...)可能有帮助吗?您可以指定要调整到的大小(变大或变小),还可以初始化您希望将新元素初始化为的大小。
关于c++ - 如何在 C++ 中更改 STL 容器的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2676988/