Где скачать исходный код C ++ STL и файлы .h и .cpp?

Большинство книг Jon Bentley (например, Жемчуг Программирования ) касается такого материала действительно прагматическим способом. Этот разговор данный им включает один такой анализ quicksort.

, В то время как не совсем релевантный для вопроса, Knuth придумал интересная идея : обучение Нотации "большого О" в классах исчисления средней школы, хотя я нахожу эту идею довольно эксцентриковой.

5
задан Amumu 11 May 2011 в 05:33
поделиться

1 ответ

Вы не должны загружать файлы. Вы можете использовать STL, таким образом, это должно быть на Вашем компьютере где-нибудь. Это приводит себя к другому другому вопросу, который уже задают на Stackoverflow: , Где заголовки библиотеки стандарта C++ . Мой ответ hacky на этот вопрос ниже.

расположение файла на самом деле зависимо от компилятора.

Обычно, когда Вы будете пользоваться стандартной библиотекой неправильно, она будет давать Вам строку и адрес файла неразрешенной проблемы в библиотеке. Таким образом, это предоставляет себя решению для взлома: Сознательно совершите ошибку.

#include <vector>

int main ()
{
    std::vector<0,0,0>;
}

Для меня, на g ++/gcc это дает:

demo1.cpp: В функции ‘int основной () ’: demo1.cpp:5:19: ошибка: неправильное количество аргументов шаблона (3, должен быть по крайней мере 1)
станд.:: vector< 0,0,0>; ^ В файле, включенном от/usr/include/c ++/7/vector:64:0, от demo1.cpp:1:/usr/include/c ++/7/bits/stl_vector.h:216:11:примечание: предусмотренный ‘template станд. класса:: вектор класса vector’: защищенный _Vector_base< _Tp, _Alloc>

Поэтому теперь я знаю, что для g++/gcc, #include <stuff>

совпадает с #include "/usr/include/c++/7/stuff"

Однако, конечно, это решение для взлома, и если я делаю это с лязгом, я добираюсь:

demo1.cpp:5:14: ошибка: аргумент шаблона для шаблонного параметра типа должен быть станд. типа:: vector< 0,0,0>; ^/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c ++/8/bits/stl_vector.h:338:21:примечание: шаблонный параметр объявляется здесь шаблоном> сгенерированная ошибка ^ 1.

..., который менее полезен.

0
ответ дан 18 December 2019 в 09:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: