2010-07-03 82 views

回答

15

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只是一个专业化的。

+0

谢谢。它看起来只是我寻找的方法的原型:find()在那里“size_type find(const _CharT * __s,size_type __pos,size_type __n)const;” – Alan 2010-07-03 14:26:25

+0

ahhh对不起。我在basic_string.tcc中找到了它。谢谢! – Alan 2010-07-03 14:28:36

+0

gcc实现在这里:https://gcc.gnu.org/onlinedocs/gcc-4.8.1/libstdc++/api/a01053_source.htm – 2015-12-04 11:07:58

0

如你所料,

<string> 

,将最有可能位于任何include目录中的编译器作为基础。

+2

你当然是对的,但请记住(IIRC)''doesn实际上不得不成为一个实际的文件。我从来没有见过一个实施,虽然它不是... – 2010-07-03 04:19:54

+0

它不是VMS上的文件;头文件包含在“文本库”中,无论它们是什么。为什么,我不知道。 – 2010-07-03 08:58:40

0

它在<string>。这是一个与你的编译器分发的头文件。它可能包含其他(私有)头文件 - Visual Studio的很多实现都在名为“xstring”的文件中。

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年 - > 8
  • 2008 - > 9
  • 2010 - > 10
  • 2012 - > 11
  • 2013 - > 12
  • 2015 - > 14
相关问题