从 std `<vector>` 库创建的 `vector` 和从 `<stl_vector.h>` 创建的 `STL vector` 之间的区别

Difference between a `vector` created from the std `<vector>` library, and an `STL vector` created from: `<stl_vector.h>`


为什么STD库中有两个不同的向量库?


  1. stl_vector.h
  2. vector.h

两者有什么区别?

如果你看 into the file 本身,你会看到

/** @file bits/stl_vector.h
 *  This is an internal header file, included by other library headers.
 *  Do not attempt to use it directly. @headername{vector}
 */

您的代码不应直接包含 stl_vector.h。它是 libstdc++ 的实现细节,在其他标准库实现中可能不存在。