Visual Studio 下vector<string> 效率低下的解决方案

Windows下vector<string> strList;

strList.push_back("this is a test");

当重复执行多次的时候,就很卡,效率特别低。

在linux下是没有太多性能问题的。

要解决这个问题,在以前可能需要用指针,vector<string *> 类型来处理,这种方式可能会产生内存泄漏,还要由自己管理内存的释放,比较麻烦。

现在可以直接使用strList.emplace_back (str);

emplace_back 用到move语义,获取内存的怕有权,不用进行内存的复制。能够有效提高效率。

猜你喜欢

转载自blog.csdn.net/v6543210/article/details/82460180