【发布时间】:2018-06-15 09:22:14
【问题描述】:
在此之前,我一直在学校学习编码(向量、字符、二维数组,没什么花哨的),并且一直在 CodeBlocks 中使用 C++ 进行编码。一个月前,我开始学习 C++ Primer。我现在处于矢量类型,我很困惑。当我以前使用向量时,我从未包含任何其他库,我将向量声明为:
#include <iostream>
int main ()
{
int v[10];
return 0;
}
现在一个向量的定义要复杂得多,使用vector库,在定义中提到元素类型等等。
我只是想知道我认为相当容易的主题怎么会有如此大的差异。这些向量到底有什么问题?
【问题讨论】:
-
int v[10]是一个数组而不是一个向量。 -
所谓的“向量”(假设您在上面的示例中指的是
v)实际上是一个数组。std::vector模板可以看作是一个动态数组,你可以在需要时在运行时在其中添加和删除元素。数组的大小在编译时是固定的。例如,您的示例中的数组v,它有 10 个元素,并且总是有 10 个元素。有的没有初始化也没关系,这些元素还是存在的。 -
这很有意义,我的母语中的数组一词是“向量”,所以让我感到困惑。