C++中操作vector时出现的赋值和初始化的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中操作vector时出现的赋值和初始化的问题相关的知识,希望对你有一定的参考价值。

在vs2003平台下使用vector来建立动态数组如下:
vector<int>ColSum;
vector<int>Colp;
vector<int>Sp;
for(int x=0;x<maxX;x++)

ColSum.push_back(0);
Colp.push_back(0);
Sp.push_back(0);

我的理解是使用for语句对以上三个数组进行初始化,数组长度为maxX,不知道是否正确
另一个问题是,目前我的程序编译没有问题,但是在运行的时候发现会出错,设置断点后发现使用vector定义的数组没有被赋值,如把断点设在上面for语句之后观察局部变量有Colp的值为first=??? last=???,然后独立观察如Colp[0]的时候出现CXX0058:错误:未找到重载运算符。
个人觉得是没有赋值到数组里面去,但是又不知道错在哪里,求各位高手解答
抱歉,因为代码比较长所以希望各位大哥能留一下邮箱或者QQ方便交流,我个人觉得这个可能是vector的赋值的问题

不是初始化,只是往进压值,你在声明的时候它已以初始化了一部分内存空间,当你push的值比空间大的时候,他会再次申请,你也可以通过vector的成员函数手动申请空间。
没有代码确识不好判定,无代码,无真相。追问

请问vector要怎么初始化呢?还有,可不可以留下你的邮箱我把代码发给你帮忙看一下?

追答

vived@vip.qq.com
你要初始化为什么啊,它只是个容器,你就往里添加东西就行了,到时候按照位置去读就完了

追问

发给您了,多谢

追答

我看了下,数组越界了。

参考技术A 这个循环是分别往三个vector里面push了 maxX个0
第二个问题有没有代码 我运行一下试试追问

你好,我这个是用MFC作的,代码比较长,不大好贴上来,请问可以留下邮箱发给你吗?

以上是关于C++中操作vector时出现的赋值和初始化的问题的主要内容,如果未能解决你的问题,请参考以下文章

在 C++ 中操作向量时出现分段错误

C++ 堆栈分配的对象赋值和析构函数调用

C++ Vector对象默认构造初始化,它的值是多少?谢谢

C++ Vector对象默认构造初始化,它的值是多少?谢谢

C++高手请进 数组可以整体赋值吗 比如我定义了b[2]=1,2 我可以直接a[2]=b[2]吗

尝试在 Python 中重写 C++ 代码时出现问题:删除地图中的项目和“vector.erase(vector.end())”