int arr[10]; // 定义了一个包含10个整数的数组 但数组在使用中存在一些局限性。1.1 数组的长度不可变 在C++中,数组的长度需要在定义时确定,一旦定义就无法改变。int arr[10]; // 定义了一个长度为10的数组 这样会限制数组的灵活性。如果需要一个更大的数组,必须另外定义一个新的数组并复制内容。1.2 ...
首先,创建一个可以容纳int的vector变量——arr: vector<int> arr; 接着,就可以使用一些vector的内建函数了: arr.push_back(9);//在arr结尾插入数字9arr.pop_back();//删除arr末尾最后一个项arr.front();//arr的第一个项的值arr.back();//arr的最后一个项的值arr.begin();//arr的第一个项的指针ar...
int arr[]={0,1,2,3,4,5}; vector<int> ivec(begin(arr),end(arr)); cout<<ivec[1]<<endl; ivec[1]的输出是1. 另一种方法: int arr[]={0,1,2,3,4,5}; vector<int> ivec(arr[1],arr[5]); int i=0; cout<<ivec[-1]<<endl; ivec[-1]是1,ivec[0]是5,ivec[1]是0 ...
vector<int>样的,就像char ch;用char创建一个ch对象一样,只是char是基本类型,我们更常说,ch是一个char类型的变量。 由于vector对象的大小可以根据我们的输入自动调整,所以可以在声明的时候,不指定数组的元素个数是可以的。而用静态联编创建数组int arr[元素个数];的时候,元素个数不能给0。 2.array模板 2.1arra...
// 初始化一个空的vectorvector<int> v1;// 初始化一个包含5个元素的vector,每个元素的值为0vector<int> v2(5);// 初始化一个包含5个元素的vector,每个元素的值为1vector<int> v3(5, 1);// 通过一个数组来初始化vectorint arr[] = {1, 2, 3, 4, 5};vector<int> v4(arr, arr + 5)2....
上面使用Vector创建了一个intArr数组, 并在使用中通过push_back和pop_back改变了数组的长度, 而关于存储数据的内存的扩大和缩小全由Vector内部完成, 对使用者是"透明"的, 从而降低了开发者手动去管理内存分配的负担 Vector核心实现 类型定义和数据初始化
back的效率可能会比较低。另外指定大小后,也会有问题噢!for(int i=0;i<10;i++)v.push_back(i);cout<<"size"<<v.size()<<endl;结果是20 指定大小后,没有初始化的v[0]~v[9]部分,要用v[i]=i;或者 使用 iterator 操作才行,使用 v.push_back(i),只会增加新数据而已;
vector<int> vec1{ 1, 2, 3, 4, 5, 6 }; //vec1内容1,2,3,4,5,6 vector<int> vec(tmp); //声明并用tmp向量初始化vec向量(也可以用vec=t,p) int arr[5] = {1, 2, 3, 4, 5}; vector<int> vec(arr, arr + 5); //将arr数组的元素用于初始化vec向量 ...
vector < int > myVector (*p, *q); 使用另外一个数组的指针来初始化v,这里既可以使用vector的指针,也可以使用普通数组的指针。 intarr[5] = {1,2,3,4,5}; vector<int> myVector = {1,2,3,4};//输出内容是:1 2 3vector<int>vector1(arr, arr +3);for(inti =0; i < vector1.size()...
int myHouse[100]; // 采用vector vector<int> vecMyHouse(100); 当如上定义后,vecMyHouse就可以存放100个int型的数据了。 1. 它可以像普通数组一样访问 eg: vecMyHouse[50] = 1024; 2. 你可以顺序地向容器中填充数据 eg: int i =0;