c++ 二维容器vector 如何push_back!!?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ 二维容器vector 如何push_back!!?相关的知识,希望对你有一定的参考价值。
例如:vector<vector<double>> test;
事先我不知道test要存入的行数,只知道数据的列数。随着数据的读入test数据的行数越来越多,怎么处理呢。
string中也有这个函数,作用是字符串之后插入一个字符。
函数原型
voidpush_back(value_type_Ch);
参数
_Ch-->Thecharactertobeaddedtotheendofthestring.
在vector类中:
voidpush_back(const_Ty&_X)
insert(end(),_X);
在vector<_Bool, _Bool_allocator>类中:
voidpush_back(constbool_X)
insert(end(),_X);
参考技术A 你先定义一个
vector<double > d;对象存储每行
for(i=0;i<col;i++)
d.push_back(a[i]);
再
test.push_back(d); 就可以了本回答被提问者采纳 参考技术B
新建一个 vector 来存进去
#include <stdio.h>#include"vector"
using namespace std;
int main()
vector< vector<int> > vv;
vector<int> v;
for(int i=0; i<5; i++ )
v.push_back(i);
vv.push_back(v);
v.clear();
for(int i=6; i<8; i++)
v.push_back(i);
vv.push_back(v);
for( int i=0; i<vv.size(); i++)
for(int j=0; j<vv[i].size(); j++)
printf(" vv[%d][%d]=%d\\n",i,j,vv[i][j]);
return 0;
打印:
vv[0][0]=0
vv[0][1]=1
vv[0][2]=2
vv[0][3]=3
vv[0][4]=4
vv[1][0]=6
vv[1][1]=7 参考技术C 你这个有点走死胡同了,为什么要用vector?要知道vector超过它的容积后,会重新分配内存,你原来存入的vector会被破坏,用list才好。追问
后续我要随机访问,也要用[]去访问,综合看还是vector好用一些啊
追答只要你能确保vector能够存入你所需要的数据,那么你就可以用vector。
以上是关于c++ 二维容器vector 如何push_back!!?的主要内容,如果未能解决你的问题,请参考以下文章