|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
|
Начала STL и контейнеры C++02.09.2016, 23:38. Показов 4278. Ответов 26
Метки нет (Все метки)
Многие улучшения, сделанные из C в C++ вызывают сомнения и вопросы...
Именно поэтому, наверное, при любви к C++ вузовских пЫдагогов, в обучении - число реальных публичных, широко известных открытых проектов на C++ за прошедшие 20 лет так и не выросло лавинно, и в процентном отношении так и не превышает долю проектов на классическом C. И именно поэтому, наверное, развитие идеологии (если и не впрямую синтаксиса) языка C пошло 6-7 лет назад в новое ответвление - язык Go. Но всё это лирика... А есть в C++ (современном, после начала 2000-х) один раздел, которого так не хватало в классическом C для построения высокоуровневых структур данных. Это STL (Standard Template Library). Идеи реализации которой заимствованы из языка Ada... И, если кто помнит, автор C++ Б.Страуструп сам постоянно пишет, что программировать а C++ можно в совершенно разных стилях ... например, следуя во многом идеологии C, используя там где это удобно новые возможности C++ ... не увлекаясь чрезмерно классами и объектами ... ещё меньше наследованием и полиморфизмом ... и совсем уж как огня опасаясь множественного наследования Другими словами это называется: сосредотачиваться на алгоритмике решения поставленной задачи (инженерная цель), а не на эстетических игрищах с "кодастайл" и другими формальными бирюльками... И в этом сильную помощь оказывает активное использование STL. Но для этого STL нужно уметь использовать разнообразно, гибко, а не тупо повторяя заклинания из учебников. Лучше на примерах, которые можно прямо взять, скопировать и использовать в своём коде. Да ещё и с учётом тех новшеств, которые даёт стандарт C++11 (2011 года), когда использование STL + C++11 даёт очень интересную ... интерференцию. ![]() Вот такому использованию STL посвящен написанный по случаю такой вот текст: Начала STL и контейнеры C++. (я даю только косвенную ссылку на текст и примеры, потому что а). их местоположение изменяется и б). они обновляются и расширяются ...
0
|
|
| 02.09.2016, 23:38 | |
|
Ответы с готовыми решениями:
26
Начала STL и контейнеры C++ Контейнеры STL Контейнеры Stl, экзамен |
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 03.09.2016, 00:05 | |
|
0
|
|
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
|
| 03.09.2016, 00:09 [ТС] | |
|
0
|
|
| 03.09.2016, 00:16 | |
|
hoggy, а если у меня умные объекты, которые сами знают в каких контейнерах они находятся и удаляются из них за О(1)?
Olej, STL вроде не подходит для хранения умных объектов, только примитивных типов для хеллоуворлдов...
0
|
|
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
||
| 03.09.2016, 00:25 [ТС] | ||
|
А для того, кто начитавшись формалистичных фокусов на C++, игрищ - рассчитывает что всё само будет происходить и не требуется понимания, так там и самые умные объекты закончатся утечкой памяти и крахом приложения.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 03.09.2016, 01:00 | ||
|
1. грамотно формулируйте свой запрос. что бы потом не возникало всяких "если". 2. согласно теории ошибок, командир указывает солдатам, а не наоборот. в годной архитектуре, объекты не должны делать предположений о своих они должны тупо подчиняццо своему и не делать никаких предположений о форме своего существования, которую этот агрегат для них определил. нарушение этого положения ведет к сейчас у вас есть шанс продемонстрировать профит своих "умных объектов". потому что пока что не понятно, что это такое, и зачем оно вперлось. и не забывайтесь: вы находитесь в ветке с++.
0
|
||
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 03.09.2016, 01:01 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 03.09.2016, 01:04 | ||
|
STL подходит для хранения любых типов: и фундаментальных, и пользовательских. если пользовательсткий тип данных не являет собой простую модель уровня "хелло ворлд", значит это - говнокод. и да, это ортогонально STL. егошним контейнерам начхать на сложность абстрации типов. оно выставляет собственные требования. и если тип им удовлетворяет - жрет их за милую душу.
0
|
||
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 03.09.2016, 01:08 | |||
|
А STL предназначена для обработки последовательностей фундаментальных типов путем их полного перебора. Такой подход остался в 60-ых и хеллоувердах. Добавлено через 2 минуты
0
|
|||
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
||
| 03.09.2016, 01:09 [ТС] | ||
|
Только трудоёмкость (и срок выполнения) проекта у вас в этом случае будет на порядок длиннее, а ошибок и рекламаций на проект (особенно в случае б).) будет на 2 порядка больше. А меня вот эти соображения беспокоят.
0
|
||
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 03.09.2016, 01:10 | ||
|
0
|
||
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
|||
| 03.09.2016, 01:13 [ТС] | |||
![]() А кто вам рассказал такую глупость про последовательный перебор? А как же map<>, multimap<>, set<> и т.д. Добавлено через 1 минуту Это во всех областях ... и STL здесь не исключение.
0
|
|||
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 03.09.2016, 01:16 | ||||
|
Добавлено через 1 минуту
0
|
||||
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 03.09.2016, 01:21 | ||
|
0
|
||
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 03.09.2016, 01:31 | ||
|
Olej, придираться к чему-либо я не буду, учитывая целевую аудиторию. Однако отсутствие какой-либо информации по array, unordered_set, unordered_map делает далеко неполной инфу по контейнерам. И еще утверждение, что map и multimap - это хэш-таблицы, режет глаза, так как довольно приличная дезинформация. PS Кого не интересует STL, что здесь делают? Я, например, во всякие билдерные темы и в этом роде не захожу, чтобы написать, что это отстой, ибо смысл? Пусть там народ резвится в своей песочнице ![]() А тут такое чувство, что у кого-то постоянно пригорает от слова STL. Успокоительные надо пить тогда. STL, STL, STL, ...
9
|
||
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
|||
| 03.09.2016, 01:36 [ТС] | |||
|
И цели не было переписывать "полную инфу" - для этого есть документация. Да и детальная и полная информация раздует объём до нечитаемых размеров. Целью было - примеры использования. У вас есть информация вместо дезинформации? - выкладывайте её сюда немедленно!
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 03.09.2016, 01:41 | |||
|
стандарт говорит:
он не говорит, что это обязательно должны быть хеш-таблицы это уже означает, что вы - дезинформируете население. тем паче, что в большинстве реализаций карта реализована, как красно-черное дерево. о чем писано во многочисленных учебниках и справочниках.
1
|
|||
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
||
| 03.09.2016, 01:46 [ТС] | ||
|
А я ссылался на реализацию UNIX/Linux, публикации на эту тему (поверьте, не сам придумал), и результаты использования и тестов. {deleted}
0
|
||
| 03.09.2016, 01:46 | |
|
Помогаю со студенческими работами здесь
20
Ассоциативные контейнеры STL STL, контейнеры классы Ассоциативные контейнеры библиотеки STL Контейнеры STL и виды деревьев STL. Итераторы и последовательные контейнеры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 07.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|