我在某处读到新标准强制在字符串类的实现中移动语义.现在编译器就像gcc一样,在写入时将字符串实现为复制以提高性能,这使得复制和传递字符串作为参数的值非常便宜.现在,如果现在强制复制字符串的移动语义,那么性能是否会失败?因为如果确实传递在范围之间移动它们的字符串会很便宜,那么在复制字符串时,它仍然需要进行复制,对吗?
有人可以为我澄清这个问题吗?
谢谢.
小智 5
为什么你计算移动语义会失去性能?当它正确实现时,移动一个字符串相当于只复制几个指针.
好吧,对于原始复制COW很好,但它们对多线程环境不利,人们正在寻找禁用它的方法.
http://www.gotw.ca/gotw/045.htm
是否在GCC 4.x/C++ 11中重新计算了std :: string?
最后,实际程序中的大多数字符串操作只是将其传递给其他函数,因此a const &足以提高性能.
| 归档时间: | 
 | 
| 查看次数: | 202 次 | 
| 最近记录: |