为什么我需要包含<vector>来使用它们?

2 c++ vector

我是C++的新手,并试图弄清楚如何使用vector.

更具体地说,我想知道何时需要使用#include<vector>.我问这是因为我看过程序中有和没有程序使用的#include语句vector.

Lig*_*ica 8

当您看到使用std::vector但未使用的代码时#include <vector>,该代码会被破坏.期.

在特定的编译器/标准库实现/平台/行星上工作可能"恰好发生",这取决于哪些其他标准头"刚刚发生"已经包括在内<vector>以供自己使用.这不应该依赖.


use*_*240 6

vector实际上并没有内置到 C++ 中,它只是它的标准库的一部分,如果您使用 C++,它保证对您可用。vector(或者,以其全名,std::vector)本身是用 C++ 实现的。

通过编写#include <vector>,您告诉编译器不仅要使用您自己的代码,还要编译一个名为vector. 这个文件实际上在你的硬盘上(如果你使用 GNU/Linux,它可能位于/usr/include/c++/[GCC_VERSION]/vector)。

std::vector不包含该文件就不能使用,因为编译器不知道名为std::vector. 编译器只知道语言C ++,而不是它的标准库!

如果某些程序使用时std::vector不包含其头文件,那是因为它们已经包含的某些头文件在#include <vector>某处存在。这可能有很好的理由(例如,某些 C++ 课程附带一个包含所有必要标题的文件,并且在前几节课中使用了该文件)。但是,也可能包含标准库头文件vector(某些实现iostream)。依赖它不是一个好主意,因为它因实现而异,因此您的程序可能在 Visual C++ 2010 中运行,但它不能在 GNU 或较新版本的 Visual C++ 中编译。