谨慎使用效率极低的std::list.size()函数

来源:互联网 发布:杭州淘宝大学地址 编辑:程序博客网 时间:2024/05/02 01:20

  linux环境下的一个刚完成的库函数效率极低,经测试发现瓶颈在std::list.size()函数,而我是这样使用的:while (aList.size()) { ... }

  查看stl源码(SGI版本,一般Linux都是使用这个)发现std::list.size()要遍历所有元素来获得列表长度,因此效率极低。我用while (!aList.empty()) { ... }来代替,性能问题解决。