vector模板类 运用

vector< vector > v(m, vector(n) ) 表示的意思
定义了一个vector容器,元素类型为vector,初始化为包含m个vector对象,每个对象都是一个新创立的vector对象的拷贝,而这个新创立的vector对象被初始化为包含n个0。

  每部分解析:
  构造函数vector(size_type n, const allocator_type& alloc = allocator_type())表示构造一个使用alloc分配内存(如果是初学,不用管这个,使用默认的就好)的含n个元素的vector,其中每个元素执行值初始化(对于内置类型即初始化为0)。因此vector(n)表示构造一个无名且含n个0的vector对象。

  构造函数vector(size_type n, const value_type& val, const allocator_type& alloc = allocator_type())表示构造一个使用alloc分配内存的含n个元素的vector,其中每个元素是val的一个拷贝。因此整条语句的含义如第一段所说。

  从结果上看,类似于创建了一个m×n的二维数组,而且可以通过v[i][j]的方式来访问元素(vector支持下标访问元素)。
 
  

vector(n)代表一个临时变量,而这个变量是个有n个数的数组,数组每个元素默认初始化。
vvi就是一个含有m个元素的数组,每个元素又是一个数组,即vector(n).

vector(n),也就是缺省了其名 ,本来好比是vectorx(n);这里把x这个名称给省略了

省略了其实就是构造了一个没有名字的临时对象。

你可能感兴趣的:(C++)