大侠帮看一下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;
}
...全文
241 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)你的函数里边全是局部变量,只要“一次调用”没有内存泄漏,那么“多次调用”也不会有内存泄漏。
源码链接: https://pan.quark.cn/s/a4b39357ea24 在C语言编程环境中,多项式求和是一项常见的编程实践,它融合了数学理论、算法设计以及C语言的基础运用。此类程序可能包含对用户输入的多项式表达式进行解析,进而计算各项的总和。接下来将对这一主题进行深入阐述。 多项式在数学领域是一个基础性概念,它由常数、变量及指数通过线性方式组合而成,例如表达式`3x^2 + 2x - 1`。在C语言环境下,我们可以借助数组来表示多项式的各项系数,例如通过定义一个整型数组`int coefficients[] = {3, 2, -1}`来保存表达式`3x^2 + 2x - 1`的系数值。 1. **多项式解析**: 解析多项式的过程通常需要从用户处获取输入数据,如表达式`3x^2 + 2x - 1`。在C语言中,可以利用`scanf()`函数来接收用户的输入。解析流程涉及到识别每个项的系数、变量及指数,这可能需要运用到字符串处理函数,例如使用`strtok()`函数来分割字符串,以及通过`atoi()`或`atof()`函数将字符串转换为数值类型。 2. **数据结构构建**: 为了高效地处理多项式,可以设计一个结构体用以存储每一项的系数和指数信息。例如: ```c typedef struct { int coefficient; int exponent; } Term; ``` 随后,可以选用链表或数组来存储这些结构体实例,以此来完整表示一个多项式。 3. **求和运算**: 求和操作可能包含两个阶段:(1) 对相同指数的项进行系数相加,(2) 将计算结果整合至最终的多项式表达式中。在处理同次幂项时,需要遍历两个多项式,识别出具有相同指数的项...

65,210

社区成员

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

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