定义了空的容器对象!

longxiaoyun_0052 2009-03-28 04:43:29
定义了空的容器对象 vector<sting> vect;
while(cin>>str)
vect.push_back(str);//从输入设备输入字符添加到容器里
cout<<vect.size();
cout<<vect[0].size();
这两句话我不明白到底是什么意思?
比如我输入一个abcdefg回车
第一个就是1后面一个就是7难道vect.size()是第一个元素的意思吗?
很多书上说比如v.size()返回v中元素的个数
不知道怎么解释了!
麻烦大家帮我看看!
...全文
244 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
downmooner 2009-03-28
  • 打赏
  • 举报
回复
cout < <vect.size();
cout < <vect[0].size();

第1个是vector的大小,就是指包含了多少个string

后者是vector内的第1个string里多长。 字符的长度。string.size()和string.length()一样
longxiaoyun_0052 2009-03-28
  • 打赏
  • 举报
回复
我用Microsoft Visual Studio 2008调整了一下还是2和3这个应该不会错的 !
//Microsoft Visual C++ 6.0环境!
下的代码
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> vect;
string str;
while(cin>>str)
vect.push_back(str);
cout<<vect.size();
cout<<vect[0].size();

}
//
pengzhixi 2009-03-28
  • 打赏
  • 举报
回复
我这两次回车也是一样的结果。DEVCPP 的编译器。
pengzhixi 2009-03-28
  • 打赏
  • 举报
回复
两次 回车那肯定咯
longxiaoyun_0052 2009-03-28
  • 打赏
  • 举报
回复
看清楚两次回车的
先abc 回车//
再abc 回车//
ctr+z回车看结果//
vect.size(); 就等于2 //
cout < <vect[0].size(); 等于3//
Microsoft Visual C++ 6.0环境!
pengzhixi 2009-03-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 longxiaoyun_0052 的回复:]
还是不太明白
到底那个是正确的
比如我从键盘输入abc回车
abc回车
vect.size(); 就等于2 //
cout < <vect[0].size(); 等于3//
难道是一个回车算一个元素个数这算什么道理啊?
[/Quote]

你怎么退出那个while循环的,我输入abc回车,然后按ctr+z输出1,3啊。
longxiaoyun_0052 2009-03-28
  • 打赏
  • 举报
回复
还是不太明白
到底那个是正确的
比如我从键盘输入abc回车
abc回车
vect.size(); 就等于2 //
cout < <vect[0].size(); 等于3//
难道是一个回车算一个元素个数这算什么道理啊?
pengzhixi 2009-03-28
  • 打赏
  • 举报
回复
定义了空的容器对象 vector <sting> vect;
while(cin>>str)
vect.push_back(str);//从输入设备输入字符添加到容器里
cout < <vect.size(); //容器vect里面的元素的个数
cout < <vect[0].size(); //容器里面第一个元素string里的字符个数。
  • 打赏
  • 举报
回复
cout < <vect.size(); //这里是vector::size()方法
cout < <vect[0].size(); //这里是string::size()方法,功能不用我描述了吧
simo110 2009-03-28
  • 打赏
  • 举报
回复
string实际上也是一个容器,也含有size()这个方法
mengde007 2009-03-28
  • 打赏
  • 举报
回复

vector <sting> vect;//定义了空的容器对象
while(cin>>str)
vect.push_back(str);//从输入设备输入字符添加到容器里
cout < <vect.size();//元素个数,vect.capacity()是容器大小
cout < <vect[0].size(); //这个元素的大小、
chin_chen 2009-03-28
  • 打赏
  • 举报
回复
定义了空的容器对象 vector <sting> vect;
while(cin>>str)
vect.push_back(str) //从输入设备输入字符添加到容器里
cout < <vect.size();//容器的大小
cout < <vect[0].size(); //位于容器第一个元素(string),这个元素的大小、。

65,211

社区成员

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

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