关于vector的问题,代码编译通过,运行出错~求教…

麦兜睡觉觉 2012-01-20 11:17:23
代码实现的功能是想向vector容器中添加元素并输出~~
但是编译能通过,执行时输入元素后出现错误,各位高手帮忙看看…怎么回事。。。

但是也会提示错误, The variable 'spvec' is being used without being initialized.想问问spvec该怎么定义呢?

代码如下:


#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
//input
vector<string> *spvec;
string str;
while(cin>>str)
spvec->push_back(str);

//output
vector<string>::iterator iter=spvec->begin();
while(iter!=(spvec->end()))
{
cout<<*iter<<""<<iter->size()<<endl;
++iter;
}
return 0;
}
...全文
100 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamnobody 2012-01-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ubosword 的回复:]
引用 2 楼 thefirstz 的回复:

vector<string> *spvec = new vector<string>;


要是说用new动态分配了内存,对于这种vector容器该怎么释放内存呢?就是用delete怎么写?
刚学C++,不太明白…
[/Quote]

vector<string> *spvec = new vector<string>;
然后:
delete spvec;
其实这里根本没必要new

vector<string> vec;//这样就可以了。

麦兜睡觉觉 2012-01-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 a42626423 的回复:]

这里根本没必要用指针- -!
vector<string> spvec
就好了。
反正你都用到了迭代器,一样是一个指针。
如果你要用指针就要动态分配内存
[/Quote]

其实就是想试试用箭头运算符改写一段程序,呵呵~
0zien0 2012-01-21
  • 打赏
  • 举报
回复
这里根本没必要用指针- -!
vector<string> spvec
就好了。
反正你都用到了迭代器,一样是一个指针。
如果你要用指针就要动态分配内存
麦兜睡觉觉 2012-01-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 thefirstz 的回复:]

vector<string> *spvec = new vector<string>;
[/Quote]

要是说用new动态分配了内存,对于这种vector容器该怎么释放内存呢?就是用delete怎么写?
刚学C++,不太明白…
gaomingok 2012-01-20
  • 打赏
  • 举报
回复
没必要用指针吧,要用记得new 和 delete
昵称很不好取 2012-01-20
  • 打赏
  • 举报
回复
vector<string> *spvec = new vector<string>;
游戏设计师 2012-01-20
  • 打赏
  • 举报
回复
vector<string> *spvec;
你的指针没有初始化

64,642

社区成员

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

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