Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Peoples
1141 / 645 / 418
Регистрация: 06.02.2016
Сообщений: 1,679
Записей в блоге: 11
Завершенные тесты: 4
#1

Где можно посмотреть коды шаблонов STL? - C++

14.08.2016, 15:31. Просмотров 652. Ответов 21

Не подскажите где можно посмотреть коды шаблонов stl. То есть конкретно код реализации шаблона sort например.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2016, 15:31     Где можно посмотреть коды шаблонов STL?
Посмотрите здесь:
C++ Можно ли посмотреть в нормальном виде описание STL методов и функций?
Подскажите где можно посмотреть исходники C++
Где можно посмотреть функции подключаемых директив? C++
strtok_s где можно посмотреть сам принцип функции C++
Где можно найти код реализации библиотеки STL C++
Библиотека шаблонов STL C++
Где можно посмотреть все функции по работе с динамической памятю в C++ ? Может кто сайт знает C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fulcrum_013
663 / 731 / 72
Регистрация: 14.12.2014
Сообщений: 5,699
Завершенные тесты: 3
14.08.2016, 15:40     Где можно посмотреть коды шаблонов STL? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Лежат себе в папочке include а в какой именно подпапке - зависит от IDE/компилятора в комплекте с которым идут.
Тока смотри аккуратно -там глаза сломать и мозг вывихнуть наизнанку можно если пытаться в этом навозе что либо разобрать
hoggy
6423 / 2641 / 458
Регистрация: 15.11.2014
Сообщений: 5,831
Завершенные тесты: 1
14.08.2016, 15:42     Где можно посмотреть коды шаблонов STL? #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
в любой ИДЕ ПКМ на std::sort
из контекстного меню ---> "перейти к определению".
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
14.08.2016, 15:46     Где можно посмотреть коды шаблонов STL? #4
Цитата Сообщение от Peoples Посмотреть сообщение
где можно посмотреть коды шаблонов stl
В любой IDE есть возможность перехода через какой-нибудь Ctrl+Click в место определения имени, на которое кликаешь.
Ferrari F1
=^_^=
553 / 440 / 93
Регистрация: 27.01.2015
Сообщений: 2,553
Записей в блоге: 1
Завершенные тесты: 1
14.08.2016, 16:18     Где можно посмотреть коды шаблонов STL? #5
Fulcrum_013, можете объяснить почему там все так непонятно написано? специально?
Fulcrum_013
663 / 731 / 72
Регистрация: 14.12.2014
Сообщений: 5,699
Завершенные тесты: 3
14.08.2016, 16:24     Где можно посмотреть коды шаблонов STL? #6
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
можете объяснить почему там все так непонятно написано? специально?
потому что говнокодеры безграмотные писали
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
14.08.2016, 16:52     Где можно посмотреть коды шаблонов STL? #7
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
можете объяснить почему там все так непонятно написано?
Не осилил, че.
Месье не понимает, что разработчики компиляторов вынуждены так писать.
И при определенном опыте, всё там без проблем читается.
Voivoid
674 / 277 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
14.08.2016, 17:02     Где можно посмотреть коды шаблонов STL? #8
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
потому что говнокодеры безграмотные писали
Да, с С++ - победа над здравым смыслом и С++ - победа над здравым смыслом не сравнить
hoggy
6423 / 2641 / 458
Регистрация: 15.11.2014
Сообщений: 5,831
Завершенные тесты: 1
14.08.2016, 17:05     Где можно посмотреть коды шаблонов STL? #9
Цитата Сообщение от Croessmah Посмотреть сообщение
разработчики компиляторов вынуждены так писать
в чем заключается необходимость?
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
14.08.2016, 17:10     Где можно посмотреть коды шаблонов STL? #10
Цитата Сообщение от hoggy Посмотреть сообщение
в чем заключается необходимость?
Например, в уменьшении коллизий с пользовательским кодом,
учетом множества платформ, разные наборы ключей и т.д.
Fulcrum_013
663 / 731 / 72
Регистрация: 14.12.2014
Сообщений: 5,699
Завершенные тесты: 3
14.08.2016, 17:19     Где можно посмотреть коды шаблонов STL? #11
Цитата Сообщение от Croessmah Посмотреть сообщение
Например, в уменьшении коллизий с пользовательским кодом,
учетом множества платформ, разные наборы ключей и т.д.
К примеру VCL и FireMonkey тоже под кучу платформ ключей и т.п. НО при этом прекрасно читабельны.

Добавлено через 1 минуту
Цитата Сообщение от Voivoid Посмотреть сообщение
Да, с С++ - победа над здравым смыслом и С++ - победа над здравым смыслом не сравнить
Зато у меня указатели двунправленные и объекты сами из контейнеров вычищаются если их удалить. А STL так не умеет.
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
14.08.2016, 17:20     Где можно посмотреть коды шаблонов STL? #12
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
НО при этом прекрасно читабельны.
Я код gcc тоже прекрасно читаю.
hoggy
6423 / 2641 / 458
Регистрация: 15.11.2014
Сообщений: 5,831
Завершенные тесты: 1
14.08.2016, 17:22     Где можно посмотреть коды шаблонов STL? #13
Цитата Сообщение от Croessmah Посмотреть сообщение
Например, в уменьшении коллизий с пользовательским кодом,
для этого существует нотация имен.
это не объясняет факт того, что сами по себе имена зачастую нечитабельные.

Цитата Сообщение от Croessmah Посмотреть сообщение
учетом множества платформ
стандартная библиотека пишется под ключ конкретного компилятора под конкретную платформу.
разные платформы и компиляторы - разные стандартные библиотеки.

Цитата Сообщение от Croessmah Посмотреть сообщение
разные наборы ключей и т.д.
стандартная практика, например того же boost:
вынести компиляторо-платформо-ключи зависимые вещи в отдельный конфигурационный хедер,
где возможные зависимости разруливаются на дефанах препроцессора.

при таком подходе удобно разруливать 100500 возможных нюансов.
в тоже время, в исходном коде конкретного компонента
можно использовать вполне себе человеко-читабельные имена.

однако на примере как стандартной библиотеки, которая под ключ тулченйа,
так и на примере кросс-платформенного boost,
мы наблюдаем аццкий говнокод.

я повторю свой вопрос: с чем связанна необходимость?

Добавлено через 1 минуту
Цитата Сообщение от Croessmah Посмотреть сообщение
Я код gcc тоже прекрасно читаю.
это лишь благодаря тому, что у вас скилл чтения говнокода квалификация позволяет.

однако способность справляться с дикарями,
не делает последних цивилизованными.
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
14.08.2016, 17:58     Где можно посмотреть коды шаблонов STL? #14
Цитата Сообщение от hoggy Посмотреть сообщение
вынести компиляторо-платформо-ключи зависимые вещи в отдельный конфигурационный хедер,
где возможные зависимости разруливаются на дефанах препроцессора.
Угу, именно так оно и делается.
Цитата Сообщение от hoggy Посмотреть сообщение
разные платформы и компиляторы - разные стандартные библиотеки.
У одного компилятора на разных платформах, как правило,
изменены только те самые платформо-зависимые штуки,
всё остальное остается общим по мере возможностей.
Вот эти самые общие штуки очень хорошо читаются.
Цитата Сообщение от hoggy Посмотреть сообщение
для этого существует нотация имен.
угу, поэтому для реализации зарезервированы имена,
начинающиеся с двух подчеркиваний.
Эти имена, лично меня, бесят больше всего,
хотя при определенном уровне глазного парсера они не доставляют особых неудобств.
Цитата Сообщение от hoggy Посмотреть сообщение
это не объясняет факт того, что сами по себе имена зачастую нечитабельные.
как-правило, это сокращения, причем врядли они непонятны разработчикам,
и, скорее всего, стандартизированы главнюками
Цитата Сообщение от hoggy Посмотреть сообщение
однако способность справляться с дикарями,
не делает последних цивилизованными.
Красивые бусы из зубов врагов тоже не приводят к цивилизации
Цитата Сообщение от hoggy Посмотреть сообщение
так и на примере кросс-платформенного boost,
мы наблюдаем аццкий говнокод.
Наблюдаем, но это не значит, что оно прям вот не читаемо. Хотя, в бусте сам черт ногу сломит.
Однако, опять же, его разрабатывают, а значит и читают
Цитата Сообщение от hoggy Посмотреть сообщение
это лишь благодаря тому
И че, я один такой? А раз нет, значит явление массовое.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2016, 18:09     Где можно посмотреть коды шаблонов STL?
Еще ссылки по теме:
Библиотека стандартных шаблонов STL C++
C++ Стандартная библиотека шаблонов (STL)
C++ Организация шаблонов на языке С++, библиотека STL
C++ Стандартная библиотека шаблонов STL Алгоритмы
STL, или другая библиотека шаблонов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
hoggy
6423 / 2641 / 458
Регистрация: 15.11.2014
Сообщений: 5,831
Завершенные тесты: 1
14.08.2016, 18:09     Где можно посмотреть коды шаблонов STL? #15
Цитата Сообщение от Croessmah Посмотреть сообщение
как-правило, это сокращения, причем врядли они непонятны разработчикам,
и, скорее всего, стандартизированы главнюками
они не понятны всем, кроме непосредственных участников.
да и тем, через полгода приходится заново вдуплять.

реально, такое впечатление, что они прочли Макконелла и Мартина,
и сделали все с точностью наоборот.

обоснования этому явлению нет.
ничто не мешало в рамках плюсовой нотации.
элементарно - давать вменяемые имена переменным/функциям/etc.

Цитата Сообщение от Croessmah Посмотреть сообщение
Наблюдаем, но это не значит, что оно прям вот не читаемо.
именно что значит.
именно потому, что его приходится осиливать,
а не просто читать.
Yandex
Объявления
14.08.2016, 18:09     Где можно посмотреть коды шаблонов STL?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru