Команда IT специалистов выполнит подготовку инфраструктуры для вашего бизнеса.
Внедрение самых передовых решений и технологий.
Поддержка и сопровождение ваших сервисов.
Выполнение работ под "ключ", от покупки сервера, до настройки автоматизации процессов.
8(977)608-78-62 adm@nixm.ru

Начала STL и контейнеры C++

Ответить
Olej

Начала STL и контейнеры C++

Сообщение Olej »

Многие улучшения, сделанные из C в C++ вызывают сомнения и вопросы...
Именно поэтому, наверное, при любви к C++ вузовских пЫдагогов, в обучении - число реальных публичных, широко известных открытых проектов на C++ за прошедшие 20 лет так и не выросло лавинно, и в процентном отношении так и не превышает долю проектов на классическом C. И именно поэтому, наверное, развитие идеологии (если и не впрямую синтаксиса) языка C пошло 6-7 лет назад в новое ответвление - язык Go.

Но всё это лирика...
А есть в C++ (современном, после начала 2000-х) один раздел, которого так не хватало в классическом C для построения высокоуровневых структур данных. Это STL (Standard Template Library). Идеи реализации которой заимствованы из языка Ada...
И, если кто помнит, автор C++ Б.Страуструп сам постоянно пишет, что программировать а C++ можно в совершенно разных стилях ... например, следуя во многом идеологии C, используя там где это удобно новые возможности C++ ... не увлекаясь чрезмерно классами и объектами ... ещё меньше наследованием и полиморфизмом ... и совсем уж как огня опасаясь множественного наследования :shock:

Другими словами это называется: сосредотачиваться на алгоритмике решения поставленной задачи (инженерная цель), а не на эстетических игрищах с "кодастайл" и другими формальными бирюльками...
И в этом сильную помощь оказывает активное использование STL. Но для этого STL нужно уметь использовать разнообразно, гибко, а не тупо повторяя заклинания из учебников. Лучше на примерах, которые можно прямо взять, скопировать и использовать в своём коде. Да ещё и с учётом тех новшеств, которые даёт стандарт C++11 (2011 года), когда использование STL + C++11 даёт очень интересную ... интерференцию. :)

Вот такому использованию STL посвящены написанные по случаю такие вот короткие заметки: Начала STL и контейнеры C++... Их на сегодня 17 штук.
(я даю только косвенную ссылку на тексты и примеры, потому что а). их местоположение изменяется и б). они обновляются и расширяются ... не исключено, что их завтра станет 20 ... или не станет, если мне это надоест :D )
Olej

Re: Начала STL и контейнеры C++

Сообщение Olej »

Большое обновление этой серии про контейнеры STL, обобщённые алгоритмы, пересечение обобщённых алгоритмов STL с традиционными массивами C/C++.
Всё это с архивом примеров, заготовок кодов по всем затронутым темам ... в качестве начала для собственных экспериментов.
Всё это с уклоном более в потребности численного анализа, цифровой обработки сигналов ... в отличие от традиционных материалов по STL.
Это может сильно помочь, умаю, тем, кто пишет собственный код на C++ ... и даже на C - примеры использования C++ сделаны специально так, чтобы далеко за пределы STL не уходить ... можно писать и привычный код "a'la C", но компилировать в режиме C++.

Всё это проще всего взять в блоге: Linux для программиста.
Olej

Re: Начала STL и контейнеры C++

Сообщение Olej »

Olej писал(а):Большое обновление этой серии про контейнеры STL, обобщённые алгоритмы, пересечение обобщённых алгоритмов STL с традиционными массивами C/C++.
Ну и теперь всё это - единым текстом, выправлено и дополнено, здесь: Начала STL и контейнеры C++.
Ответить

Вернуться в «C/C++»