我在哪里可以找到std :: string的实现

时间:2010-07-03 04:15:03

标签: c++ string header implementation

我正在寻找c ++字符串类的代码。它实现了什么标题?

4 个答案:

答案 0 :(得分:16)

std::string没有单一的实施方式。但您可以在<string>标题中找到您的特定实现。

在我的系统上,可以在这里找到:

/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.h/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/include/g++-v4/bits/basic_string.tcc

在基于Debian的系统上:

~$ locate basic_string.tcc
/usr/include/c++/4.5/bits/basic_string.tcc
/usr/include/c++/4.6/bits/basic_string.tcc
~$ locate basic_string.h
/usr/include/c++/4.5/bits/basic_string.h
/usr/include/c++/4.6/bits/basic_string.h
~$ 

通常,您将会查找basic_string模板,因为std::string只是其中的一个特殊化。

答案 1 :(得分:0)

正如您所料,

<string>

很可能位于编译器作为其基础的任何include目录中。

答案 2 :(得分:0)

它在<string>。它是随编译器一起分发的头文件。它可能包括其他(私有)头文件 - Visual Studio的许多实现都在名为“xstring”的文件中。

答案 3 :(得分:0)

与Visual Studio的答案类似的问题: https://stackoverflow.com/a/17205896/5520058

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\crt\src\

可以更改Visual Studio的版本和位置。这是可以找到源的默认安装路径。

Visual Studio版本:

  
      
  • 2005 - &gt; 8
  •   
  • 2008 - &gt; 9
  •   
  • 2010 - &gt; 10
  •   
  • 2012 - &gt; 11
  •   
  • 2013 - &gt; 12
  •   
  • 2015 - &gt; 14
  •