vector<int> test;//建立一个vector test.pushback(1);//把1和2压入vector 这样test[0]就是1,test[1]就是2 test.pushback(2); 我们可以用一个迭代器: vector<int>::iterator iter=text.begin();//定义一个可以迭代int型vector的迭代器iter,它指向text的首位,迭代器跟指针差不多 while(;iter!=text...
insert()函数有以下三种用法: 在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器, 在指定位置loc前插入num个值为val的元素 在指定位置loc前插入区间[start, end)的所有元素. 举例: //创建一个vector,置入字母表的前十个字符 vector<char> alphaVector; for( int i=0; i < 10; i++ ) alphaVec...
与vector<vector<int> > name不同的是,这种写法其中一维长度已经固定为 arraySize,另一维才是“变长”的。 4. vector 容器内元素的访问 (1)通过下标访问 和访问普通数组一样,对一个定义为vector<typename> vi的 vector 容器来说,直接访问vi[index]即可,这里下标是从0到vi.size()-1。 (2)通过迭代器访问 ...
void printVector(vector<int>& v) { //利用迭代器打印 v for (vector<int>::iterator it = v.begin(); it != v.end(); ++it) { cout << *it << " "; } cout << endl; } 1. 2. 3. 4. 5. 6. 7. 8. 测试案例: void text01() { vector<int> v1; //调用1 for (int i =...
我用的VC6就是不认它,竟报“error C2146: syntax error : missing ',' before identifier”。凭直觉,我觉得这不应该。网上一搜,类似这样的用法的代码比比皆是。看来是VC6太弱了,竟然不理解vector<vector<int>>为何物!无奈之下只能暂时放弃,另谋它途。然而一直耿耿于怀。
以上简单讲述了vector的用法,仅供入门之用,谢谢。 --- 1.vector 的数据的存入和输出: #include<stdio.h> #include<vector> #include <iostream> using namespace std; void main() { int i = 0; vector<int> v; for( i = 0; i < 10; i++...
5. vector<A> ga; ga.resize(m*n); 方法3,4的结合 6. 2的改进版(Penrose提供,在此感谢) A** ga = new A*[m]; ga[0] = new A[m*n]; for(int i = 1; i < m; i++) ga[i] = ga[i-1]+n; ... delete [] ga[0]; ...
右值引用。代表这个变量用完以后就没用了(要被析构了),可以把数据直接转移过来。比如一个vector,从函数里return,以往的情况,要创建一个新vector对象,然后调用复制构造函数,然后把旧vector删掉 现在,可以创建一个新vector对象,把原来vector里的数据直接转移过来(不是复制,转移以后旧的vector就空了...
(1) foreach 标准用法: std::vector<int>vec; foreach(inti, vec) { std::cout<<i; } (2)VC实现 在最新的VC版本中原来已经有了类似于foreach的支持,改个名字就行了: #define foreach(var, container) for each(var in containter) (3)GCC实现 ...
#include <vector> //STL 动态数组容器 #include <cwchar> #include <cwctype> using namespace std; C99 增加 #include <complex.h> //复数处理 #include <fenv.h> //浮点环境 #include <inttypes.h> //整数格式转换 #include <stdbool.h> //布尔环境 ...