为什么C++的string比C的Cstring效率要高

fj218 2004-09-27 09:03:34
如题
...全文
268 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
nicknide 2004-09-28
IDqq(char* strID) ,难道你就不知道增加一个长度标记就可以在常数时间得到长度了吗?这么简单的东西,不用别人教,应该也明白的吧
回复
somedummy 2004-09-28
楼主没事不要乱搞大小写好不好?

MFC的是CString,C风格的字符串头文件在C++里面可以使用cstring来引用

效率上面的差异是语言带来的,同楼上
回复
darkstar21cn 2004-09-28
没有理由的定论,没有意义的争论……
回复
daylove 2004-09-28
是不是要根据不同的编译起来说呢/
回复
IDqq 2004-09-28
真的,PASCAL的其它方面我都不喜欢,但是它有字符串类型,你要得到字符串长度的话只要常数时间。C就不一样,怎么也得O(n)的复杂度。一下就慢下来了。
回复
aryak 2004-09-28
IDqq就别来添乱了
回复
IDqq 2004-09-28
其实较快的还是OBJECT PASCAL的字符串
回复
njSeeWhy 2004-09-28
《C++ Primer题解》中有对这个问题的说明。书中说主要是因为string把字符串长度存成成员变量,所以访问起来很快。但是书中又说,作者所用的环境下,C style的字符串比较快。所以这个问题没有太大的意义,根据语言环境的不同而不同,呵呵。
回复
fj218 2004-09-28
我正在看C++ Primer 3rd Edition
在看到字符串类型时,文章说string类型的执行速度是C风格字符串的两倍,并问读者是否预想得到,并说明原因。我预想不到,所以想问个究竟。
回复
fj218 2004-09-28
看了《C++ Primer题解》,原来如此。明白了。
回复
Wolf0403 2004-09-27
没有理由的定论,没有意义的争论……
回复
我感觉CString的效率比string高
回复
hcj2002 2004-09-27
C的Cstring ?

是mfc的CString 吧?
回复
发动态
发帖子
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
社区公告
暂无公告