c++ - 为字符串 vector 预分配内存(C++ vector<string>)

标签 c++ stl memory-management

在 C++ 中,是否有一种聪明(即快速)的方法来为字符串 vector 预分配内存,以便每个元素都有一些最小大小?我的天真方法如下:

vector<string> my_string_vector;
my_string_vector.resize(1000);
for (unsigned int ui=0; ui<1000; ui++)
   my_string_vector[ui].reserve(1024);

非常感谢,

亚当

最佳答案

没有快速的方法来做到这一点。您可以获得更少的代码行,但您仍然要为 std::vector< 中的每个 std::string 调用一次 reserve/.

我相信EASTLBoost.Pool如果您愿意走那条路,可能会有所帮助。

关于c++ - 为字符串 vector 预分配内存(C++ vector<string>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5543444/

相关文章:

C++:静态类成员是如何实现的?

c++ - Qt - QLocalSocket 信号槽不工作导致析构函数中的死锁

c++ - 通过 UDP 套接字发送数据

c++ - 在 C++ 中删除全局分配的内存

c++ - vector 赋值运算符和复制构造函数

javascript - 我应该取消绑定(bind)事件监听器以防止内存泄漏吗?

c++ - 有效存储数据

java - 如何在 Java 中固定字节数组?

c++ - 在专用线程中清除 STL

c++ - 删除一个 vector 中包含在另一个 vector 中的所有元素的优雅方法?