string 类中的size() 函数与length()有区别吗

flyingdancing2005 2005-06-17 07:35:48
同上
...全文
3574 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyingdancing2005 2005-06-25
  • 打赏
  • 举报
回复
谁能给个例子?
jixingzhong 2005-06-20
  • 打赏
  • 举报
回复
学习!!!!


又多了一招!!
naturemickey 2005-06-20
  • 打赏
  • 举报
回复
是一样的。
VC.net 7.0中:
size_type length() const
{ // return length of sequence
return (_Mysize);
}

size_type size() const
{ // return length of sequence
return (_Mysize);
}

GCC 3.3.3中:
size_type
size() const { return _M_rep()->_M_length; }

size_type
length() const { return _M_rep()->_M_length; }
Wolf0403 2005-06-20
  • 打赏
  • 举报
回复
感觉刀子头一句在扯。。。

======下面公布正确答案======
[鲜花、掌声、鞭炮、礼花、彩纸……]

看 SGI 的 STL Programmers' Guide 里面怎么说的:
size_type size() const Container Returns the size of the string.
size_type length() const basic_string Synonym for size().

也就是说,size() 是为了兼容其它 Container 而提供的接口,而 length() 是 basic_string 独有的,为了方便理解而设置的接口,实际就是 size() 的 alias。

http://www.sgi.com/tech/stl/basic_string.html
xjp6688 2005-06-20
  • 打赏
  • 举报
回复
不一样
Olive_Eagle 2005-06-19
  • 打赏
  • 举报
回复
又多了一点见识!!
C_er 2005-06-19
  • 打赏
  • 举报
回复
俺也不懂
snowred_bai 2005-06-19
  • 打赏
  • 举报
回复
顶~~
长了点见识!
021850524 2005-06-19
  • 打赏
  • 举报
回复
至少.size()是要返回容器的大小.这个是STL规定的所有容器必须要有的方法.
  • 打赏
  • 举报
回复
mark
OpenHero 2005-06-19
  • 打赏
  • 举报
回复
解释得好
csucdl 2005-06-19
  • 打赏
  • 举报
回复
string.size() = string.lenth() * sizeof(string.item)
whatsouta 2005-06-19
  • 打赏
  • 举报
回复
SO SO
heguosheng 2005-06-19
  • 打赏
  • 举报
回复
标记
ikiki 2005-06-18
  • 打赏
  • 举报
回复
size() 应该是函数模版的吧,string 类中为了更清晰的表达意义就加了一个 length()
sunman1982 2005-06-18
  • 打赏
  • 举报
回复
回复人: beepbug(放屁虫) ( ) 信誉:100 2005-06-18 16:12:00 得分: 0


不一样。看你用的是单字节字符,还是多字节字符。


=========================
他们的内部实现是一样的,使用的结果也是一样的。
你说不一样,能举个例子么?
foochow 2005-06-18
  • 打赏
  • 举报
回复
都是表示字符串中的元素数,等于begin()到end()之间的距离.
length()是考虑到传统C函数strlen而对应设置的,而size()是考虑到string作为一个STL容器,应该具有的common member.
BluntBlade 2005-06-18
  • 打赏
  • 举报
回复
Size是字节数
Length是字符数……

还有一点,提供Size应该是为了提供容器兼容接口。
beepbug 2005-06-18
  • 打赏
  • 举报
回复
不一样。看你用的是单字节字符,还是多字节字符。
oyljerry 2005-06-18
  • 打赏
  • 举报
回复
为了统一其他模板中的size,length便于理解
加载更多回复(8)

64,678

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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