诸位在VC下用惯了CString吧,有多少人在用string?
我就是深受其害者之一,最近需要写标准的c++,想用string,还要和CString之间进行转换,费事不少。
MS干嘛制造出CString这个怪物?明显就是要废string而立CString。其实大可不必啊,在string上增加成员函数不就行了?
有了CString,我都不会用string和char[]了!真是丑陋的CString!
我就是深受其害者之一,最近需要写标准的c++,想用string,还要和CString之间进行转换,费事不少。
MS干嘛制造出CString这个怪物?明显就是要废string而立CString。其实大可不必啊,在string上增加成员函数不就行了?
有了CString,我都不会用string和char[]了!真是丑陋的CString!
我就是深受其害者之一,最近需要写程序,想用Linux,还要和Windows之间进行通讯,数据的高低位还要转换,费事不少。
MS干嘛制造出Windows这个怪物?明显就是要废Linux而立Windows。其实大可不必啊,在Linux上增加功能不就行了?
有了Windows,我都不会用Linux和DOS了!真是丑陋的Windows!
我的意思是:VC++让大家偏离标准c++太远。CString是方便,但是最近在Linux下使用GCC,就不得不重写复习string了,只怪自己学业不精啊。
呵呵!
此话怎讲?你所谓的逻辑,真是混乱的逻辑。
我是比较VC++和标准的C++,两者不但有逻辑关系,还有渊源关系。你来比较Linux和Windows,语气中还怨气冲冲,两者我看不出有VC和C++的类似关系:我说竟然有string,就可不必再有CString,至少C++在前,VC在其上发展起来的。Linux在Windows之后,而且无论是产生、发展、还是使用习惯上都与Windows没有多大联系。
唉,我实在是看不出你的所谓“逻辑”何在?更不知道你怨气何来?我猜,唯一的理由是对VC的指摘就是对MS Fan的冒犯,呵呵,冒犯冒犯!
在这里“革命没有中间路线!”
真是界限分明、逻辑简单啊,呵呵不过我最近是在大力从Windows向Linux转移,无论是开发、还是桌面运用。只是Linux的初学者,有星星大侠把我划入Linux阵营,真是荣幸!
因为我不太喜欢再用ostringstream
至少对MFC挺好的!
就像sevencat(七猫)说的,只要像样一点的类库都有自己的string类,并非所有的string类都会与stl的兼容,你需要为自己的选择负责,而不是责怪CString与std::string不兼容。你还可以想一想MFC库的设计是什么时候的事情,那时候C++还没有标准呢。
所以你可以不用CString,但是不能不承认它的思想。
//没有一个WINAPI是直接调用CString的,你说的都是对他的封装
CString还有内存管理方面的问题
//VC6以后这个BUG好像就已经没有了。
就功能而论,CString比string要强,引用计数的方式也很好。
后来程序写得多了,就开始明白CString存在的价值。
我可以大胆的说一句:
凡是在程序中用string和CString进行频繁转换的,本身就是在制造垃圾代码,就算微软当初在MFC中使用string,他写出的代码一样的垃圾,一样无法重用。到时候他又可以归罪于CArray CList CMap了。
不信谁贴一段代码大家评评。
.......////用你的string实现Cstring 的函数
}#define CString youstring
--------------
这样你就可以了。
我的理由是:
(1)CString比string多一个大写字母,想必是历史也更长些。
(2)我先听说CString,后来才知道还有string。
说来惭愧,我刚见string,还以为是CString拼写错了。 ;(
(3)string比CString功能更强大,
想必是因为它后诞生,因此保留了CString的全部优点,
同时添加了更多更好的功能。
关键看你怎么用!
回复人: fibbery(飞) ( ) 信誉:100 天上的星星亮晶晶,颗颗都是小眼睛……
^________________________________^吃惯了麻辣烫 以后闻见辣味 就会流口水。