CString VS std::string
我一直在虔诚地使用MFC的CString,IMHO,它是一个更好的字符串类,因为它与CAD一起运行良好,并且有许多内置转换,即托管系统::字符串到本机。你用什么**** Hidden Message ***** 思考使用std::string和arx的最佳方式,比如代码0]
然后代码1]
当在MFC接近100%CString时。 像UI控件这样的东西,正如你所提到的ARX的东西,使用CString更容易处理。 我尝试使用100%std::(w)字符串,但很快就学会了,如果框架提供字符串处理类,那么使用它可能是一个好主意。 在这里,我说的是Wx Widgets,QT和Cocoa(使用Objective C / C++)。 至少在 Wx Widgets 和 QT 中,它们的字符串类是基于 std::(w)string,所以有一个自然的桥梁,特别是如果你的低级代码是基于 std 的。 可可,算了吧,就用苹果丑陋的屁股字符串处理函数,导致它们和std::(w)字符串之间唯一的桥梁是丑陋的屁股函数。
我使用两者,但大多数CString。
我使用最有效的方法。如果项目已经使用 MFC,则使用 CString。在某些情况下,我使用CString克隆(基于名为StdString的开源类),在这些情况下,我需要与CString兼容。否则,我使用std::string或自定义字符串类(la OpenDCL的安装程序代码)。
对于 ObjectARX 代码,您可以使用 AcString,尽管我很少这样做。 在你的 resbuf 类中,我会废弃 toString 的东西。你可以坚持使用老式的 char* 或带有预处理器指令的 wchar_t*来确定是否包含或排除该功能,但是没有充分的理由说明为什么它需要成为类的一部分,因为它可以在类之外实现,而不会牺牲任何可用性。 感谢提示
在学习了C#中的大部分类设计之后,我已经习惯于在几乎所有的类中添加/覆盖ToString方法,
尤其是对于像基本类型或集合一样使用的类..如果这有意义...
这是一个在构建应用程序时检查结果的便利功能...之后可能是代码膨胀。
接下来,我想我将构建一个Convert::ToSring类来满足我的需要,
可以在不影响类设计的情况下删除它。
页:
[1]