C++容器问题。谢谢高手回答。

smartpop555 2009-02-25 08:27:21
请问vector<string>::size_type和
vector<int>::size_type
的区别是什么啊?
谢谢啊。
...全文
130 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lewis2000 2009-02-26
  • 打赏
  • 举报
回复
UP
sagegz 2009-02-26
  • 打赏
  • 举报
回复
向量中存储元素的类型不一样,一个字符串类型,一个整型类型.
xianyuxiaoqiang 2009-02-26
  • 打赏
  • 举报
回复
楼主有书么?建议去看看模板相关的章节。
redoffice 2009-02-26
  • 打赏
  • 举报
回复
string::size_type类型:string类类型和其他库类型都定义了一些配套类型。通过这些配套类型,库类型的使用就能与机器无关了。Size_type就是一种配套类型。它定义为与unsigned类型(unsigned int 或 unsigned long)具有相同的含义,并且可以保证足够大能够存储任意string对象的长度。为了使用由string类型定义的size_type类型,程序员必须加上作用域操作符来说明所使用的size_type类型是由string类定义的。
任何存储string的size操作结果的变量必须为string::size_type类型。特别重要的是,不要把size的返回值赋给一个int变量。

在用下标访问元素时,vector使用vector::size_type作为下标的类型,而数组下标的正确类型则是size_t。
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhenye1 的回复:]
哎呀。那为什么要加size_type呢
size_type和size_t的区别又是什么啊。搞得我糊涂死了啊!!!
[/Quote]
http://topic.csdn.net/u/20080503/21/c07b63ec-ea64-4985-bd10-38c846bfd411.html
size_t不是容器概念。
size_type是容器概念,没有容器不能使用。
一般来说是size_t,而size_t可能为unsigned int,也可能为unsigned long,甚至可能为unsigned long long……当这些类型转换为int的时候就可能被截断

但是无论如何,使用size_type是一定正确的。
danxuezx 2009-02-25
  • 打赏
  • 举报
回复
STL中vector封装了数组,list封装了链表,map和set封装了二叉树
lzy340623339 2009-02-25
  • 打赏
  • 举报
回复
vector <string>::size_type表示串向量的目前的长度
vector <int>::size_type表示整型向量的目前的长度
wolflion 2009-02-25
  • 打赏
  • 举报
回复
容器里面放的数据类型不一样。
smartpop555 2009-02-25
  • 打赏
  • 举报
回复
哎呀。那为什么要加size_type呢
size_type和size_t的区别又是什么啊。搞得我糊涂死了啊!!!
9527- 2009-02-25
  • 打赏
  • 举报
回复
UP
waizqfor 2009-02-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhenye1 的帖子:]
请问vector <string>::size_type和
vector <int>::size_type
的区别是什么啊?
谢谢啊。
[/Quote]
容器 存储的类型不同啊
一个是字符串类型的
一个是int类型的
比如就像C语言的里
int [] 和char []

65,211

社区成员

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

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