大侠帮看一下vector >的使用是否正确

大鸟的小天空 2005-11-23 04:52:28
下面的代码执行正确,但是感觉有点问题。
问题写在代码里面,请大侠指教,能指出更好的实现方法最好。谢谢。
#include <cstdlib>
#include <iostream>
#include <string>
#include <vector>

using namespace std;

bool getV(vector<vector<int> >& r) //?1。这样的参数是否正确,有没有更好的方法
{
for (int j=0;j<4;++j)
{
vector<int> t; //?2。多次定义是不是有问题
for(int i=0;i<5;++i)
t.push_back(i);
r.push_back(t); //?3。t在什么地方释放掉
}
}

int main(int argc, char *argv[])
{
vector<vector<int> > result;
getV(result); //?4。多次调用这个函数,会不会出现内存泄漏
vector<int> temp;
for(int i=0;i<result.size();++i)
{
temp = result[i];
for(int j=0;j<temp.size();++j)
printf("%d ",temp[j]);
printf("\n");
}

system("PAUSE");
return EXIT_SUCCESS;
}
...全文
139 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
大鸟的小天空 2005-11-23
  • 打赏
  • 举报
回复
谢谢大家,呵呵,初次使用c++,怕出问题,
我们要作的项目比较严格,不允许出问题的,所以在此骚扰。。



====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2

zhousqy 2005-11-23
  • 打赏
  • 举报
回复
回复人: ghh_pan(大郭) ( ) 信誉:100 2005-11-23 17:28:00 得分: 0


system("PAUSE");
return EXIT_SUCCESS;
麻烦稍微给解释一下吧~~谢谢。。。

--------------------
暂停,然后返回给操作系统一个成功标志。
ghh_pan 2005-11-23
  • 打赏
  • 举报
回复
system("PAUSE");
return EXIT_SUCCESS;
麻烦稍微给解释一下吧~~谢谢。。。
dragonzxh 2005-11-23
  • 打赏
  • 举报
回复
楼上两位正解...8过8知道楼主问这些什么意思....

STL做的很好的,释放什么的都仍给他吧,放心,..
ascmvi 2005-11-23
  • 打赏
  • 举报
回复
编译出错
'getV' : must return a value
改为
void getV(vector<vector<int> >& r)

?1。这样的参数是否正确,有没有更好的方法
我觉得这样很好了.

//?2。多次定义是不是有问题
没有
//?3。t在什么地方释放掉
当定义t的块结束时,也就是大的for 循环完成时
//?4。多次调用这个函数,会不会出现内存泄漏
不会 vector有自动管理内存功能
qfeng_zhao 2005-11-23
  • 打赏
  • 举报
回复
没什么问题,就是bool getV(vector<vector<int> >& r) 少了返回值

晨星 2005-11-23
  • 打赏
  • 举报
回复
(1)正确。不知道你所说的“更好”指什么,如果你想更简捷,可以考虑typedef啊。
(2)没有问题,没有“多次定义”,在循环内定义一个变量是真普通的事情。
(3)vector的析构函数会负责释放。
(4)你的函数里边全是局部变量,只要“一次调用”没有内存泄漏,那么“多次调用”也不会有内存泄漏。

64,691

社区成员

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

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