C ++标准库的头在哪里

托马斯:

我不知道在文件系统上的什么地方可以找到C ++标准库的标头。特别是我正在寻找矢量模板的定义。我在/ usr / include /和各种子目录中搜索。我也尝试过“ locate vector.h”,它带来了许多矢量的实现,但不是标准的。我想念什么?(分布是Gentoo)

背景:我正在剖析一个在vector大部分时间里都经过迭代的库,而gprof表明大部分时间都花在了

std::vector<int, std::allocator<int> >::_M_insert_aux(
  __gnu_cxx::__normal_iterator<int*, std::vector<
      int, std::allocator<int> > >, int const&)

这可能是内部在std :: vector :: push_back上发生的事情,但是我不确定。

迈克·西摩(Mike Seymour):

GCC通常在中安装了标准C ++标头/usr/include/c++/<version>/您可以运行gcc -v以找出已安装的版本。

至少在我的版本中,没有vector.hpublic标头只是vector(没有扩展名),大多数实现在中bits/stl_vector.h

我的Ubuntu发行版就是这种情况。您的分配可能会有所不同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章