C++中vector <int> array;如何像下面数组一样赋值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中vector <int> array;如何像下面数组一样赋值相关的知识,希望对你有一定的参考价值。
数组赋值int a[4]=0,10,22,3;
用上面的向量怎么实现类似这样数组的赋值,不能用循环调用push_back()类似的成员函数
int a[4]=0,10,22,3;
std::vector<int> array(a, a + 4);
或者是三步:
int a[4]=0,10,22,3;
std::vector<int> array;
std::copy(a, a+4, std::back_inserter(array)); // 必须#include <iterator> 参考技术A vector <int> text(10); //初始化大小为10,每个值均为0
vector <int> text(10,1); //初始化大小为10,每个值均为1
int array[10]=...;
vector <int> text(array,array+10); //用array对vector进行初始化
vector可以用两个迭代器来初始化。
由于数组可以看做一个随机访问迭代器,所以array+10相当于指定了迭代器范围是从first到first+10。
另外vector的构造函数中用list<int>::begin(),list<int>::begin()+10之类的也是可以的。 参考技术B 可以用boost的的array类,具体参考boost说明
C++ vector<vector<int>> 如何初始化
vector 是个模板 在调用的时候,必须按照模板的格式写:vector<int> arr (初始个数,赋值);
vector<int> arr(5,0);
扩张时resize即可。 参考技术A vector 是个模板,你掉用的时候,必须按照模板的格式写亚:
vector<int> arr (初始个数,每个都赋予什么);
vector<int> arr(5,0);就行了,扩张时resize即可。
基础加强了。 参考技术B 初始化一个m x n的二维数组,初始值为0;
vector<vector<int>> dp(m, vector<int> (n));
初始化一个m x n的二维数组,初始值为1;
vector<vector<int>> dp(m, vector<int> (n, 1)); 参考技术C /*
* File: main.cpp
* Author: chujiangke
*
* Created on 2013年4月10日, 下午5:44
*/
#include <cstdlib>
#include<iostream>
#include<vector>
#include<iterator>
#include<cstdlib>
#include<cstdio>
using namespace std;
/*
*
*/
int main(int argc, char** argv)
vector<int>a,b;
cout <<"input vector A:"<< endl;
int m;
while(getchar()!='\n')
cin >> m;
a.push_back(m);
cout <<"input vector B:"<< endl;
int n;
while(getchar()!='\n')
cin >> n;
b.push_back(n);
vector<vector<int> >vvect;
vvect.push_back(a);
vvect.push_back(b);
return 0;
本回答被提问者和网友采纳 参考技术D 首先呢,可以不用初始化
直接定义就可以
例如:vector<vector<int>> ivec;
插入的值类型是vector<int>
以上是关于C++中vector <int> array;如何像下面数组一样赋值的主要内容,如果未能解决你的问题,请参考以下文章
C++中vector <int> array;如何像下面数组一样赋值