c++ 关于.size()

stringa;a.size()返回什么类型vector<string>a(5);a.size()返回什么类型vector<int>a(5)a.size()返回什么类型个... string a;
a.size() 返回什么类型

vector<string>a(5);
a.size() 返回什么类型

vector<int>a(5)
a.size() 返回什么类型

个人觉得分别是:
string::size_type类型 ?
int类型?
int类型?

我要计算string中的元素个数用什么?
是用sizeof()吗?还能用别的吗?
string::size_type内嵌类型能转成int吗?
我快晕了,救救我。。。
还有读取string中的某个字符呢?怎么做?
展开
 我来答
zyq_07_28
2008-12-04 · TA获得超过258个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:0
展开全部
查下msdn就知道了:
查size method:
.size大多是size_type(string和vector都是,还有其他很多)
查size_type typedef:
typedef size_t size_type;
再查size_t type:
size_t unsigned integer Result of sizeof operator.
最终其实是uint的

个数函数:(都是msdn复制下来的, 自己找吧)
Returns the number of characters in the string.
number string-length(string)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2008-12-07
展开全部
string a;
a.size() 的返回值是unsigned int类型

vector<string>a(5);
a.size() 的返回值是unsigned int类型

vector<int>a(5)
a.size() 的返回值是unsigned int类型

取出string中的某一位是指什么?是一个字符?还是一个二进制位?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zero_mark
推荐于2017-09-15
知道答主
回答量:4
采纳率:0%
帮助的人:3.7万
展开全部
string a;
a.size() 如果没有定义size_type,返回的是无符号整型,如果定义了size_type,则返回的是定义了的size_type类型,详细见下文

vector<string>a(5);
a.size() 返回的也是无符号整型

vector<int>a(5)
a.size() 返回的还是无符号整型

string::size_type是string对象的一个属性,可以用于定义string的size类型,而由于string::size_type是无符号型,则它可以存储的长度是有符号型的两倍。int类型变量最大只能存储32767个字符的string对象,如果用string来读一个文本文件,轻易就会多于32767个字符。为了避免溢出,保存一个string对象size的最安全的方法就是使用标准库类型string:: size_type。

计算string中的元素个数用size()就可以了。

读取string中的某个字符可以用下标进行操作。
例:
string s = "hello";
s[0] 就是字符串的第一个字符, s[1] 就表示第二个字符(如果有的话),而 s[s.size() - 1] 则表示 s 的最后一个字符。

用以下方法依次读取s中的字符
for (string::size_type i = 0; i != s.size(); ++i)
cout << s[i] << endl;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式