Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Peoples
1172 / 677 / 426
Регистрация: 06.02.2016
Сообщений: 1,781
Записей в блоге: 13
Завершенные тесты: 4
#1

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

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

Не подскажите где можно посмотреть коды шаблонов stl. То есть конкретно код реализации шаблона sort например.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2016, 15:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Где можно посмотреть коды шаблонов STL? (C++):

Можно ли посмотреть в нормальном виде описание STL методов и функций? - C++
Допустим, мне нужно посмотреть, какие члены-функции есть в библиотеке <vector>. Чтобы это сделать, я создаю какой-нибудь вектор, вызываю,...

Подскажите где можно посмотреть исходники - C++
Подскажите где можно посмотреть исходники законченых программ на С++, активно использующих ООП: инкапсуляцию, наследование и полиморфизм?...

Где можно посмотреть функции подключаемых директив? - C++
Здравствуйте. Где можно посмотреть функции подключаемых директив? Спасибо.

strtok_s где можно посмотреть сам принцип функции - C++
на этой странице http://translate.google.com/translate?langpair=auto%7Cru&u=http://msdn.microsoft.com/en-us/library/ftsafwz3.aspx ...

Где можно найти код реализации библиотеки STL - C++
Вот хочу я, например, проверить, функция std::swap() делает ли проверку на попытку обмена объекта с самим собой. Как/где я могу...

Библиотека шаблонов STL - C++
Здравствуйте, как можно сформировать массив множеств ptr, который формируется из строки str = "the best way of doing something well", а ptr...

21
Fulcrum_013
699 / 764 / 74
Регистрация: 14.12.2014
Сообщений: 6,036
Завершенные тесты: 3
14.08.2016, 15:40 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Лежат себе в папочке include а в какой именно подпапке - зависит от IDE/компилятора в комплекте с которым идут.
Тока смотри аккуратно -там глаза сломать и мозг вывихнуть наизнанку можно если пытаться в этом навозе что либо разобрать
1
hoggy
6690 / 2872 / 492
Регистрация: 15.11.2014
Сообщений: 6,461
Завершенные тесты: 1
14.08.2016, 15:42 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
в любой ИДЕ ПКМ на std::sort
из контекстного меню ---> "перейти к определению".
1
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
14.08.2016, 15:46 #4
Цитата Сообщение от Peoples Посмотреть сообщение
где можно посмотреть коды шаблонов stl
В любой IDE есть возможность перехода через какой-нибудь Ctrl+Click в место определения имени, на которое кликаешь.
1
Ferrari F1
616 / 510 / 101
Регистрация: 27.01.2015
Сообщений: 2,965
Записей в блоге: 1
Завершенные тесты: 1
14.08.2016, 16:18 #5
Fulcrum_013, можете объяснить почему там все так непонятно написано? специально?
0
Fulcrum_013
699 / 764 / 74
Регистрация: 14.12.2014
Сообщений: 6,036
Завершенные тесты: 3
14.08.2016, 16:24 #6
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
можете объяснить почему там все так непонятно написано? специально?
потому что говнокодеры безграмотные писали
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
14.08.2016, 16:52 #7
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
можете объяснить почему там все так непонятно написано?
Не осилил, че.
Месье не понимает, что разработчики компиляторов вынуждены так писать.
И при определенном опыте, всё там без проблем читается.
3
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
14.08.2016, 17:02 #8
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
потому что говнокодеры безграмотные писали
Да, с С++ - победа над здравым смыслом и С++ - победа над здравым смыслом не сравнить
0
hoggy
6690 / 2872 / 492
Регистрация: 15.11.2014
Сообщений: 6,461
Завершенные тесты: 1
14.08.2016, 17:05 #9
Цитата Сообщение от Croessmah Посмотреть сообщение
разработчики компиляторов вынуждены так писать
в чем заключается необходимость?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
14.08.2016, 17:10 #10
Цитата Сообщение от hoggy Посмотреть сообщение
в чем заключается необходимость?
Например, в уменьшении коллизий с пользовательским кодом,
учетом множества платформ, разные наборы ключей и т.д.
0
Fulcrum_013
699 / 764 / 74
Регистрация: 14.12.2014
Сообщений: 6,036
Завершенные тесты: 3
14.08.2016, 17:19 #11
Цитата Сообщение от Croessmah Посмотреть сообщение
Например, в уменьшении коллизий с пользовательским кодом,
учетом множества платформ, разные наборы ключей и т.д.
К примеру VCL и FireMonkey тоже под кучу платформ ключей и т.п. НО при этом прекрасно читабельны.

Добавлено через 1 минуту
Цитата Сообщение от Voivoid Посмотреть сообщение
Да, с С++ - победа над здравым смыслом и С++ - победа над здравым смыслом не сравнить
Зато у меня указатели двунправленные и объекты сами из контейнеров вычищаются если их удалить. А STL так не умеет.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
14.08.2016, 17:20 #12
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
НО при этом прекрасно читабельны.
Я код gcc тоже прекрасно читаю.
0
hoggy
6690 / 2872 / 492
Регистрация: 15.11.2014
Сообщений: 6,461
Завершенные тесты: 1
14.08.2016, 17:22 #13
Цитата Сообщение от Croessmah Посмотреть сообщение
Например, в уменьшении коллизий с пользовательским кодом,
для этого существует нотация имен.
это не объясняет факт того, что сами по себе имена зачастую нечитабельные.

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

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

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

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

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

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

однако способность справляться с дикарями,
не делает последних цивилизованными.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
14.08.2016, 17:58 #14
Цитата Сообщение от hoggy Посмотреть сообщение
вынести компиляторо-платформо-ключи зависимые вещи в отдельный конфигурационный хедер,
где возможные зависимости разруливаются на дефанах препроцессора.
Угу, именно так оно и делается.
Цитата Сообщение от hoggy Посмотреть сообщение
разные платформы и компиляторы - разные стандартные библиотеки.
У одного компилятора на разных платформах, как правило,
изменены только те самые платформо-зависимые штуки,
всё остальное остается общим по мере возможностей.
Вот эти самые общие штуки очень хорошо читаются.
Цитата Сообщение от hoggy Посмотреть сообщение
для этого существует нотация имен.
угу, поэтому для реализации зарезервированы имена,
начинающиеся с двух подчеркиваний.
Эти имена, лично меня, бесят больше всего,
хотя при определенном уровне глазного парсера они не доставляют особых неудобств.
Цитата Сообщение от hoggy Посмотреть сообщение
это не объясняет факт того, что сами по себе имена зачастую нечитабельные.
как-правило, это сокращения, причем врядли они непонятны разработчикам,
и, скорее всего, стандартизированы главнюками
Цитата Сообщение от hoggy Посмотреть сообщение
однако способность справляться с дикарями,
не делает последних цивилизованными.
Красивые бусы из зубов врагов тоже не приводят к цивилизации
Цитата Сообщение от hoggy Посмотреть сообщение
так и на примере кросс-платформенного boost,
мы наблюдаем аццкий говнокод.
Наблюдаем, но это не значит, что оно прям вот не читаемо. Хотя, в бусте сам черт ногу сломит.
Однако, опять же, его разрабатывают, а значит и читают
Цитата Сообщение от hoggy Посмотреть сообщение
это лишь благодаря тому
И че, я один такой? А раз нет, значит явление массовое.
0
hoggy
6690 / 2872 / 492
Регистрация: 15.11.2014
Сообщений: 6,461
Завершенные тесты: 1
14.08.2016, 18:09 #15
Цитата Сообщение от Croessmah Посмотреть сообщение
как-правило, это сокращения, причем врядли они непонятны разработчикам,
и, скорее всего, стандартизированы главнюками
они не понятны всем, кроме непосредственных участников.
да и тем, через полгода приходится заново вдуплять.

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

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

Цитата Сообщение от Croessmah Посмотреть сообщение
Наблюдаем, но это не значит, что оно прям вот не читаемо.
именно что значит.
именно потому, что его приходится осиливать,
а не просто читать.
0
14.08.2016, 18:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2016, 18:09
Привет! Вот еще темы с ответами:

Где можно посмотреть все функции по работе с динамической памятю в C++ ? Может кто сайт знает - C++
???

Стандартная библиотека шаблонов (STL) - C++
Пожалуйста,помогите решить.. Написать программу, которая использует класс string для анализа строки, содержащей математическое...

Библиотека стандартных шаблонов STL - C++
1. Создайте пустой целочисленный вектор и поместите в него 10 случайных чисел с интервалом значений от -15 до 15. 2. Напишите две...

STL, или другая библиотека шаблонов - C++
Где можно жостать инфу (в инете) про STL или другую библиотеку шаблонов? Есди можтте дайте ссылку... Заранее признателен...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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