Я ищу код для строкового класса C++. В каком заголовке это реализовано?
Не существует единой реализации для std::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
является его специализацией.
Как и следовало ожидать,
<string>
, который, скорее всего, будет находиться в любом каталоге include
, который ваш компилятор использует в качестве основы.
Это в
. Это файл заголовка, распространяемый с вашим компилятором. Он может включать другие (частные) файлы заголовков - большая часть реализации Visual Studio находится в файле с именем «xstring».