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

C++

Войти
Регистрация
Восстановить пароль
 
 
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
#1

Является ли адаптер контейнера контейнером - C++

26.07.2016, 16:10. Просмотров 1143. Ответов 62
Метки нет (Все метки)

75%, но некоторые вопросы вызывают недоверие. Например вопрос про стандартные контейнеры (нужно выбрать стандартные контейнеры из списка), один из вариантов std::queue, вот и думай - то ли автор вопроса плохо знает С++ и нужно выбрать std::queue, то ли автор знает С++ на достаточном уровне и std::queue выбирать не надо (т.к. это не контейнер, а адаптер). Другие вопросы тоже можно покритиковать.

 Комментарий модератора 
Вынесено из темы: http://www.cyberforum.ru/cpp-beginne...ad1785281.html
1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2016, 16:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Является ли адаптер контейнера контейнером (C++):

Детектировать, является ли контейнером set или является multiset - C++
здравствуйте, вот есть детектирование является ли контейнер map или multimap: template< typename... > using void_t = void; ...

Целью работы является создание программы для обработки набора объектов с использованием класса -контейнера - C++
Целью работы является создание програмки для обработки набора объектов с использованием класса -контейнера динамический массив ( vector...

Проблемы с контейнером - C++
имеются следующие типы: typedef int (*CLI_Function ) ( const std::vector <const std::string> arguments, void * data ); typedef std::map...

задача с контейнером - C++
помогите с решение задачи с контейнером Создать контейнер "мультимножество" с элементами типа int. Контейнер пустой. Заполнить его...

Ошибка с map контейнером - C++
Всем привет , может кто подсказать, что я делаю не правильно ? Вылезает ошибка , чтобы я ни делал . Пытаюсь рекурсивно переходить на...

Операция с контейнером vector - C++
Что в этой строке происходит с вектором до знака "="? vector<bool>& vec = p->second; Спасибо)

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ct0r
Игогошка!
1773 / 675 / 42
Регистрация: 19.08.2012
Сообщений: 1,287
Завершенные тесты: 1
26.07.2016, 20:49 #31
В доке gcc - адаптер это контейнер.
В книге Джоссатиса - это контейнер.
В книге Страуструпа - это контейнер.
В стандарте - в главе, которая называется контейнеры.
Какое еще подтверждение нужно?)

Другое дело, что их нельзя назвать частью именно “фреймворка“ STL.
0
Kastaneda
26.07.2016, 20:55  [ТС]
  #32

Не по теме:

Цитата Сообщение от ct0r Посмотреть сообщение
“фреймворка“ STL.
STL - это не фреймворк
Является ли адаптер контейнера контейнером

0
Fulcrum_013
718 / 743 / 73
Регистрация: 14.12.2014
Сообщений: 5,834
Завершенные тесты: 3
26.07.2016, 21:02 #33

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Не нужно меня переубеждать,
это дело крайне неблагодарное
Так же как и меня. Пока что я ржу нимагу с коммитета. То у них итераторы unsafe то смарт-поинтеры unsafe (реально unsafe, бо как после delete *this; у того на кого указывают креш гарантирован), то тонны нечитабельного гавнокода в которых есть все кроме самого необходимого. При этом то что реально необходимо в повседневной работе - а именно контейнеры (списки на основе массива указателей) со слежением за жизненным циклом, мультисписки обработки, деревья с иерархией владелец-предок и мультидеревья умещаются в 1000 строк кода. Лучше бы блин свойства и RTTI стандартизировали (имеется в виду не проcто typeid и typename а список свойств), а то блин для того чтобы подгрузку полиморфную на автомате сделать приходится свой парсер-генератор таблиц RTTI городить. А все от того что никак в комитете не поймут что для того чтобы указатели были безопасными, умными должны быть не сами указатели а объекты которые их используют,



Добавлено через 1 минуту
Цитата Сообщение от Kastaneda Посмотреть сообщение
STL - это не фреймворк
А криво сделанная, опасная в использовании библиотека, не имеющая в своем составе ничего нужного.
0
Croessmah
Эксперт CЭксперт С++
13209 / 7480 / 841
Регистрация: 27.09.2012
Сообщений: 18,388
Записей в блоге: 3
Завершенные тесты: 1
26.07.2016, 21:05 #34
Цитата Сообщение от ct0r Посмотреть сообщение
В стандарте - в главе, которая называется контейнеры.
Которая называется "Containers library",
Но при этом в отдельной главе - "Containers adaptors".
Цитата Сообщение от ct0r Посмотреть сообщение
В книге Джоссатиса - это контейнер.
Из перевода книги:
Стандартная библиотека C++ содержит не только контейнеры STL, но и контейнеры,
предназначенные для особых целей и предоставляющие простые и понятные интерфейсы.
Эти контейнеры можно разделить на так называемые контейнерные адаптеры, которые
приспосабливают стандартные контейнеры STL для особых целей, и битовые множества,
представляющие собой контейнеры, содержащие биты или булевы величины.
Существуют три стандартных контейнерных адаптера: стеки, очереди и очереди с приоритетами.
...
Реализация стека просто отображает его операции в соответствующие вызовы кон*тейнера, который внутренне используется стеком
Вообще всё это - буквоедство, но нам это нравится

Добавлено через 1 минуту

Не по теме:

Fulcrum_013, да, там одни дауны, поэтому Вас туда не берут, Вы же один умный и знающий.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Так же как и меня.
Вас, вроде бы, и не переубеждают здесь.

0
Fulcrum_013
718 / 743 / 73
Регистрация: 14.12.2014
Сообщений: 5,834
Завершенные тесты: 3
26.07.2016, 21:40 #35

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Добавлено через 1 минуту
Не по теме:
Fulcrum_013, да, там одни дауны, поэтому Вас туда не берут, Вы же один умный и знающий.
А я туда и не прошусь. Да и если и буду когда нибудь заниматься стандартизацией чего либо, то этот язык будет называться по другому, например ++С. А то что то тесновато в рамках C++ стало. Не хватает средств для одновременного описания мультисписка и данных его привязки в содержимом классе. Да и совместить просто мультисписок (объект может находится одновременно в каждом из списков обработки) с уникальным мультисписком (объект в каждый момент времени может находится только в одном из списков обработки) в одном котейнере просто шаблоном не удается. Потому как автогенерация нужна сразу в нескольких классах, мало того в скопе класса а не инстанционированного шаблона, а то 2 раза одну и ту же инфу писать приходится только разные ее части и смотреть чтобы они совпадали.



Добавлено через 22 минуты

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Вас, вроде бы, и не переубеждают здесь.
Ну да, разве что некоторые почти инкогнито кошаки пытаются минусами переубедить что комитет самый типа вумный. Только вот что то ни в одной серьезной библиотеке не видел использования STL ни разу. Зато списки со слежением за жизненным циклом, списки обработки, древовидные иерархии, двунаправленные указатели в том или ином объеме реализации - так это везде. Так же как практически во всех лидирующих реализациях компилятора нативные свойства и делегаты, и так или иначе в урезанном виде (только для своей библиотеки идущей в комплекте) RTTI. что поделаешь - компонентную модель по другому не реализуешь. Либо RTTI и реестр типов генерит компилятор, либо писать эти таблички ручками. По другому никак. Вот и возникает вопрос - почему коммитет мается со всякой дурью, а тем более с бесперспективной моделью обеспечения безопасности указателей, давно никому не интересными динамическими структурами данных заточенными под хранение фундаментальных типов, вместо стандартизации того что действительно необходимо на современном этапе. Опять же - не утекти память это не задача для толкового первокурсника. А вот гораздо более чаще встречающаяся на практике задача - обнулить все ссылки на удаленный объект и исключить их из всех списков в которых он содержится почему то вообще без внимания осталась. Ну это уж если они еще и хотят стандартный фреймверк на все случаи жизни. т.е. что получается - носится коммитет с библиотекой по концепции 70-ых а из за этого простейшие и нужнейшие языковые средства которые всех вендоров так или иначе есть уже 20 лет стандартизировать не может.

0
ct0r
Игогошка!
1773 / 675 / 42
Регистрация: 19.08.2012
Сообщений: 1,287
Завершенные тесты: 1
26.07.2016, 21:47 #36
Kastaneda, по поводу фреймворка - это к Джоссатису, он фреймворком не один раз называет, а я лишь в кавычки взял, дабы свою мысль донести)

Croessmah, из цитаты следует, что стандартные контейнеры STL - лишь часть стандартных контейнеров) Тут нужно понимать контекст, что понимается автором под STL, дабы точно интерпретировать цитату. Ибо в стандарте вообще никакого упоминания STL нету.
То, что адаптеры в отдельной главе, не делает их нестандартными или неконтейнерами) - они все равно в либе контейнеров.
0
Croessmah
Эксперт CЭксперт С++
13209 / 7480 / 841
Регистрация: 27.09.2012
Сообщений: 18,388
Записей в блоге: 3
Завершенные тесты: 1
26.07.2016, 21:55 #37
Цитата Сообщение от Croessmah Посмотреть сообщение
Кстати, у нас на работе есть труба, метров 20 в высоту,
так вот на схеме она подписана как stack.
Сижу и думаю, является она контейнером или нет
ну так че с трубой-то, ребят?
0
Avazart
26.07.2016, 21:58
  #38

Не по теме:

Fulcrum_013, Ты уже придумал как назовешь свою секту?
Лучше иди займись придумыванием, хорош серить сюда..

0
Fulcrum_013
26.07.2016, 22:02
  #39

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
Fulcrum_013, Ты уже придумал как назовешь свою секту?
Лучше иди займись придумывание, хорош серить сюда..
Некогда мне сектами заниматься. Сейчас вот изобретаю как собрать floating point литералы со всеми их суффиксами и т.п. прямо в автомате токенизера, а не на выходе по частям слепливать, и при этом по дороге подсчитать их значение.

0
Avazart
26.07.2016, 22:05
  #40

Не по теме:

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Некогда мне сектами заниматься.
А вот зря, они видимо тобой занялись

Цитата Сообщение от Croessmah Посмотреть сообщение
ну так че с трубой-то, ребят?
Применить алгоритм сплитирования распиливания и сдачи на металлолом.

0
Croessmah
26.07.2016, 22:09
  #41

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
Применить алгоритм сплитирования распиливания и сдачи на металлолом.
У нас один уже с водонапорной вышкой
по этому алгоритму разобрался,
вроде как недавно закончил штраф выплачивать

0
Fulcrum_013
26.07.2016, 22:11
  #42

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
А вот зря, они видимо тобой занялись
Ага. Секта приплюснутых (хорошо хоть не шарпнутых)

0
Avazart
26.07.2016, 22:11
  #43

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
ну так че с трубой-то, ребят?
Все зависит от того спрятано ли в трубе пол литра, если спрятано значит контейнер

0
Croessmah
26.07.2016, 22:14
  #44

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
Все зависит от того спрятано ли в трубе пол литра, если спрятано значит контейнер
Бутыль - контейнер. Труба - адаптер бутыля

0
Fulcrum_013
26.07.2016, 22:15     Является ли адаптер контейнера контейнером
  #45

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Бутыль - контейнер. Труба - адаптер бутыля
А все вместе - бульбулятор

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2016, 22:15
Привет! Вот еще темы с ответами:

работа с контейнером map - C++
Есть программа, она с файла забирает значения. В файле набор цифр 1 2 45 2 3 60 1 2 60 Вывод я сделал, а вот вторая часть ставит в...

Работа с контейнером string - C++
Допустим инициализирую переменную типа string, никакого значения ей не присваиваю, потом вывожу.Почему выводится пустота?А не к примеру...

Работа с контейнером multimap - C++
Помогите пожалуйста. Вот вся задача: Определить класс autoOwnerDirectory (каталог автовладельцев), хранящий информацию об автовладельцах...

Работа с контейнером map, запрос на выборку - C++
Здравствуйте дамы и господа. Возник вопрос std::map<std::pair<int, int>, Cell> myVek; myVek = Cell(20, 20, false, false); Не...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.07.2016, 22:15
Ответ Создать тему
Опции темы

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