【发布时间】:2022-01-12 11:23:54
【问题描述】:
为什么STD库中有两个不同的向量库?
-
stl_vector.h -
vector.h
两者有什么区别?
【问题讨论】:
-
如果您环顾四周,您会发现 很多 特定于实现的头文件,而不是
std_vector.h。供参考:A list of the standard C++ headers. -
stl_vector.h是stl_vector_implementation_detail_do_not_include_directly.h的简写。 -
标头不是库。一旦您对标头机制的原始程度有了更透彻的了解,它将开始变得有意义。
-
@molbdnilo 你真的明白我在“理解方面”的位置。它帮助我重新思考了整个 C++ 系统是如何工作的。这些库是由许多文件构建的。这就是为什么有时我包含的库——通过
#include预处理器——会附加一个.h,这是我以前不理解的。简而言之。 STL 库是一个 HEADER 文件,但它是构成<vector>库的整个构建的一部分。无论如何,我想你会觉得你帮助我弄清楚了会很满意。
标签: c++ vector std header-files