effective stl 第13条:vector和string 优先于动态分配的数组

来源:互联网 发布:ios7越狱后优化 编辑:程序博客网 时间:2024/06/05 02:16

如果正在动态的分配数组,为了减轻自己的负担,请使用vector和string。

只用一种情况下,用动态数组代理string是合理的。许多的string在实现背后使用了引用计数的技术,这种策略可以消除不必要的内存分配和不必要的字符拷贝,从而可以调高很多应用程序的效率。但是如果在多线程中使用了引用计数的string,你会发现,由避免分配内存和字符串拷贝所节省下来的时间比不上花在背后同步控制上的时间。如果在多线程中使用了引用计数的string,那么注意一下因为支持线程安全而导致的性能问题是很有意义的。vector的实现不允许使用引用计数,所以不会发生隐藏的多线程性能问题。

0 0
原创粉丝点击