Dev*_*lar 11
假如说
N 是某种整数,#include <vector>地方,using namespace std;或using std::vector;某个地方......这是一个v类型的对象的声明std::vector< int >,初始化为保存N对象(类型int),这些对象是默认初始化的(即,不确定,因为int是没有定义默认初始化的POD类型).
vector构造函数的文档 - 这是案例(2).
螺旋规则 - 需要一些适应C++,但仍然是一个良好的开端.
它是不是 "动态阵列线vector v",它是一个载体.
不,这是不一样的vector v[N](这甚至不会编译).它是还 没有一样vector<int> v[N]-这将是阵列N不同vector<int>的对象.
现在,如果它是第一个,那么是什么
vector< vector< int > > V(N)?
既然它不是第一个,我还要回答这个问题吗?:-D
vector< vector< int > > V(N);
Run Code Online (Sandbox Code Playgroud)
这是V类型对象的声明vector< vector< int > >,即"int-vectors的向量",初始化为保存N默认初始化对象...
...即,一个包含N对象的向量vector< int >- 它们又是空的(因为"空"是默认初始化向量).
C++有......
int v[N];),其工作方式C数组酷似.std::vector< int > v;),其大小为动态的.std::array< int, N >;),这是在象C数组大小静态的,但确实提供一些细微的std::vector.你需要确切地了解你所指的是什么.这些是完全不同的类型,具有不同的功能集.
更新:
通过最近几次编辑,很明显您的真正问题是:
什么是
vector?
它是一个C++类模板,它实现了一个容器,它可以容纳给定类型的连续元素(如 C数组),但是是动态大小的(与 C数组不同).
一般来说,除了一些非常特殊的情况外,你不再使用C++代码中的C数组了.你std::string用于字符串,以及std::vector(几乎)你在C中使用数组的所有其他内容.