任何人都可以请让我知道常规string
类和roguewave的rwcstring
类之间准确的区别。我项目中的代码广泛使用rwcstring
类。我的疑问是,如果两者都处理和操纵字符串,那么两者之间的确切区别是什么。另外为什么rwcstring类被认为比常规的string
类更有效率?区别
Q
区别
4
A
回答
2
RogueWave的RWCString
使用一种被称为懒惰复制以改善其性能的技术。基本上,这意味着复制一个字符串(无论是通过拷贝构造函数或拷贝赋值运算符)实际上并没有复制字符串的内容,但只是保持一个指向原始字符串的内容。复制只在真正需要时才会完成(通常是因为字符串内容即将被修改)。由于字符串永远不会被修改是非常常见的,因此可以提供可衡量的性能改进。
std::string
实现不明确地使用这种技术被禁止。事实上,标准中的一些规定是考虑到了这种可能的优化。问题在于有一些方法可以打败这种机制,比如将指针指向字符串的内容并直接更改它们,而不使用类机制。这就是为什么它是不寻常的std::string
使用偷懒复制的原因。
因此,总而言之,您可能会说RWCString
更高效,但也比std::string
的常规实施更安全。
0
相关问题
- 1. 区别?
- 2. 区别
- 3. 区别
- 4. 区别
- 5. 区别
- 6. 区别
- 7. 区别
- 8. 区别
- 9. 手柄区别
- 10. gMonthDay区别
- 11. 区别 - 安卓
- 12. 基本区别
- 13. float []区别
- 14. is_array()区别
- 15. 主要区别
- 16. JMeter的区别
- 17. 通用区别
- 18. 区别:textAlignment
- 19. 区别://和http:\\
- 20. SQL的区别
- 21. 区别? (C#)
- 22. 锻炼区别
- 23. 区别_在Perl
- 24. UserDefinedException&RunTimeException区别
- 25. 有区别吗?
- 26. 什么区别
- 27. 区别忽略GUID
- 28. 有什么区别
- 29. 这两个区别
- 30. 有什么区别
为什么不看医生? http://www.roguewave.com/portals/0/products/sourcepro/docs/11/html/toolsref/rwcstring.html – ForEveR 2013-04-29 06:44:03