2010-07-03 4 views

Antwort

15

Es gibt keine einzelne Implementierung für std::string. Aber Sie können Ihre spezielle Implementierung in der <string> Header finden.

Auf meinem System kann es hier zu finden:

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

Auf einem Debian-basiertes System:

~$ 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 
~$ 

Im Allgemeinen Sie gehen zu suchen für die basic_string Vorlage , da std::string nur eine Spezialisierung davon ist.

+0

Vielen Dank. Es erscheint nur der Prototyp der Methode, nach der ich gesucht habe: find() ist da drin "size_type find (const _CharT * __s, size_type __pos, size_type __n) const;" – Alan

+0

ahhh Entschuldigung. Ich habe es in basic_string.tcc gefunden. Vielen Dank! – Alan

+0

GCC-Implementierung ist hier: https://gcc.gnu.org/onlinedocs/gcc-4.8.1/libstdc++/api/a01053_source.htm –

0

Wie zu erwarten,

<string> 

, die höchstwahrscheinlich in lokalisiert werden, was auch immer include Verzeichnis des Compilers als seine Basis hat.

+2

Sie haben natürlich Recht, aber bedenken Sie, dass (IIRC) '' doesn muss eigentlich keine Datei sein. Ich habe nie eine Implementierung gesehen, wo es nicht war ... –

+0

Es ist keine Datei auf VMS; Header-Dateien sind in "Text-Bibliotheken" enthalten, was auch immer sie sind. Warum, ich habe keine Ahnung. –

0

Es ist in <string>. Es ist eine Header-Datei, die mit Ihrem Compiler verteilt wird. Es kann andere (private) Header-Dateien enthalten - ein Großteil der Implementierung für Visual Studio befindet sich in einer Datei namens "xstring".

0

Eine ähnliche Frage mit der Antwort für Visual Studio: https://stackoverflow.com/a/17205896/5520058

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

Die Version und der Lage von Visual Studio geändert werden können. Dies ist der Standardinstallationspfad, in dem die Quellen gefunden werden können.

Visual Studio Versionen:

  • 2005 -> 8
  • 2008 -> 9
  • 2010 -> 10
  • 2012 -> 11
  • 2013 -> 12
  • 2015 -> 14