CString VS std::string
很老套的问题,在网上搜了一些,还是想听听大家的意见.我是新手.
先说我不想用CString的理由:
1.我在写WTL的工程,非MFC.我在WTL的类库里面有用字符串相关的函数的情况,都是LPCTSTR 之类的.没有直接用CString.这种情况下,我用std:string与CString选择的话没有哪个会更好的理由.
2.经过比较,我已经放弃使用TCHAR类型的函数,工程使用Unicode.我感觉这样更清晰,T类型的函数让我更迷惑,要不使用char* 要不就用wchar_t*.更心安些.CString也许在处理TCHAR一类的有些方便之处.在这种情况下也没用了
3.我在使用一些网上的开源库的时候,别人的代码都是std:string.如果我使用CString.给我带来很多转换不方便.让我在写类函数接口时返回到底是是哪个.很纠结
4.看到有人说CString比string快,.NET我都用了,我不在意那点性能.
5.CString支持的方法的确比较string多.比如Format,很方便.我相信std:string肯定也有方法.我搜索即可.
我还有必要使用CString么?我想放弃之了.
学VC++给我最大的痛苦不是C++语言的复杂性.却是什么东西都让我选择,貌似选哪个都行,选哪个都不行.