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

JΛY*_*ÐΞV 2 c++ vector std header-files


\n

为什么STD库中有两个不同的载体库?

\n
\n
    \n
  1. \xc2\xa0stl_vector.h
  2. \n
  3. \xc2\xa0vector.h
  4. \n
\n
\n

两者有什么区别?

\n

Pet*_*erT 15

如果你查看文件本身,你会看到

/** @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}
 */
Run Code Online (Sandbox Code Playgroud)

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

  • 您应该“#include <vector>”并且仅“<vector>”。 (2认同)