动态生成数组和vector

总结下,每次打码都要查…

C++中的vector

一维vector:

vector<int> ivec;                //定义向量对象 ivec
vector<int> ivec1(ivec);    // 定义向量对象ivec1,并用ivec初始化
vector<int> ivec2(n,1);      //定义向量ivec2,包含了n个值为1的元素
vector<int> ivec3(n);         // 定义向量对象ivec3,包含了n个值为0的元素

二维vector

//定义向量对象 ivec
vector<vector<int>> ivec; 
//ivec1中每一个元素都是空的vector<int>
vector<vector<int>> ivec1(vector<int>()); 
//ivec2有n个元素,而每一个元素都是空的vector<int>
vector<vector<int>> ivec2(n, vector<int>());
//ivec3有n个元素,而每一个元素都是包含m个未初始化整数的vector<int>
vector<vector<int>> ivec3(n, vector<int>(m));
//ivec4有n个元素,而每一个元素都是包含m个0的vector<int>
 vector<vector<int>> ivec4(n, vector<int>(m, 0));

resize的方式:

vector<vector <int> > ivec; 
ivec.resize(m,vector<int>(n));

动态申请定长的数组

C++中有关数组的new和delete参考下面这个博文
C++中动态申请数组——new和delete

一维数组

//C语言版
int *a;
int N; 
scanf("%d", &N);
a = (int *) malloc(N * sizeof(int));
//c++版
int number = 10;
int *array = new int[number];

二维数组

//C语言版: 
#include<malloc.h> 

int **a=(int **)malloc(m*sizeof(int *)); 
for(int i=0;i<m;i++) 
a[i]=(int *)malloc(n*sizeof(int));  
//C++版: 
int **a=new int*[m]; 
for(int i=0;i<m;i++) a[i]=new int[n];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值