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

fj218 2004-09-27 09:03:34
如题
...全文
331 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
没有理由的定论,没有意义的争论……
CodeProject-Jerry 2004-09-27
  • 打赏
  • 举报
回复
我感觉CString的效率比string高
hcj2002 2004-09-27
  • 打赏
  • 举报
回复
C的Cstring ?

是mfc的CString 吧?

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧