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

C++

Войти
Регистрация
Восстановить пароль
 
 
Kastaneda
Jesus loves me
Эксперт С++
4688 / 2892 / 236
Регистрация: 12.12.2009
Сообщений: 7,354
Записей в блоге: 2
Завершенные тесты: 1
#1

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

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

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

 Комментарий модератора 
Вынесено из темы: http://www.cyberforum.ru/cpp-beginners/thread1785281.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; Спасибо)

62
Avazart
26.07.2016, 22:16     Является ли адаптер контейнера контейнером
  #46

Не по теме:

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

0
Croessmah
26.07.2016, 22:17
  #47

Не по теме:

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А все вместе - бульблулятор
Нужен еще наблюдатель, чтобы не пропускать посетителей

0
Avazart
26.07.2016, 22:19
  #48

Не по теме:

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

0
Croessmah
26.07.2016, 22:21
  #49

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
На нашу фабрику...
Но всё же, главное - не допустить утечки ресурсов,
не упустить последний указатель на ресурс
RAII тут не поможет,
оно ресурс с собой в могилу унесет

0
Fulcrum_013
699 / 764 / 74
Регистрация: 14.12.2014
Сообщений: 6,036
Завершенные тесты: 3
26.07.2016, 22:23 #50
Цитата Сообщение от Avazart Посмотреть сообщение
Все зависит от того спрятано ли в трубе пол литра, если спрятано значит контейнер
Все завивит от утинной типизации. Если контейнер выглядит как утка, плавает как утка и крякает как утка и дует бульбулятор как утка,значит он по всей видимости утка. Если адаптер контейнера выглядит как утка, плавает как утка и крякает как утка и дует бульбулятор как утка,значит он по всей видимости тоже утка. Поскольку определение утки однозначно и не противоречиво, то соответсвенно оба объекта являющихся уткой являются не более чем разными названиями одной и той же утки.
Это ежели смотреть с точки зрения интерфесов.
А вот ежели смотреть с точки зрения подкапотной, то тут все немного поинтереснее. Адаптер может изменить способ хранения содержимого, изменив контейнер который он оборачивает (вот такой вот орел горный в утиных перьях), а контейнер нет, потому как он ничего не оборачивает а сам реализует хранение (самая банальная утка).
0
Avazart
26.07.2016, 22:26
  #51

Не по теме:

Fulcrum_013, Ваше поведение UB.

0
Fulcrum_013
699 / 764 / 74
Регистрация: 14.12.2014
Сообщений: 6,036
Завершенные тесты: 3
26.07.2016, 22:34 #52
А вот ежели смотреть с точки зрения компилятора то тут вообще весело становится. Среднестатический стандартизированный STL адаптер определяет способ хранения в момент инстационирования шаблона и не способен менять его в рантайме. Так что в процессе компиляции этот гордый горный орел превращается в банальную утку.

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

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
Fulcrum_013, Ваше поведение UB.
Раз уж собрались эксперты то лучше подскажите как уважающий себя компилятор должен реагировать вот на это:
C++
1
2
3
4
5
6
int Foo(){return 0;};
int Foo(int a){return a;};
int Foo(float a){return a};
void main(){
   auto Bar=&Foo; // вот на это безобразие
}
// при этом учитываются не только как существующие реагируют, но и пожелания по реакции и по внесению указаний в подсказки по реакции.

0
Croessmah
26.07.2016, 22:36
  #53

Не по теме:

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
как уважающий себя компилятор должен реагировать вот на это
Дать по башке за void main()

0
Fulcrum_013
699 / 764 / 74
Регистрация: 14.12.2014
Сообщений: 6,036
Завершенные тесты: 3
26.07.2016, 22:41 #54

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
На нашу ликеро-водочную фабрику ...
если добавить наблюдателя а тем более за бульбулятором а тем более на ликеро-водочную фабрику то это уже будет не stl а СТО плавно переходящая в ОТО



Не по теме:

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

Цитата Сообщение от Croessmah Посмотреть сообщение
Дать по башке за void main()
То бишь разработать в комплект к компилятору приставку-молотобойца c автоматом наведения? Или таки уже по крутому - в вебку векторомет интегрировать?



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

Не по теме:


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

0
Avazart
Эксперт С++
7246 / 5418 / 297
Регистрация: 10.12.2010
Сообщений: 24,042
Записей в блоге: 17
26.07.2016, 22:48 #55
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
как уважающий себя компилятор должен реагировать вот на это:
Пошлет куда подальше...

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
кстати void main() все уважающие себя компиляторы спокойно кушают. А до некоторых сумасбродств коммитета спокойно кушали и main()
Поправка компиляторы Си, и такие устаревшие штуки как компилятор билдера.
0
Croessmah
26.07.2016, 22:49
  #56

Не по теме:

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
кстати void main() все уважающие себя компиляторы спокойно кушают.
Ни одного не знаю.
Насколько мне известно, его даже в С99 нехотя брали,
если вообще взяли, надо будет глянуть,
и соответствующие компиляторы с презрением на это смотрят.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
То бишь разработать в комплект к компилятору приставку-молотобойца c автоматом наведения?
Зачем? Это же overengineering.
Достаточно
C++
1
startNuclearMissile(coordinate);

0
Fulcrum_013
699 / 764 / 74
Регистрация: 14.12.2014
Сообщений: 6,036
Завершенные тесты: 3
26.07.2016, 23:31 #57
Цитата Сообщение от Avazart Посмотреть сообщение
Поправка компиляторы Си, и такие устаревшие штуки как компилятор билдера.
первый в мире СLang компилятор. Да кстати "положивший на комитет и его сумасбродства" и "устаревший" - это два разных состояния

Добавлено через 7 минут
При этом положили на комитет как и мелкомягкие так и Intel. А если комитету что то не понравится то Intel начнет двигать Fortran, мелкомягкие васик, шарп и С++.Net(ну это вообще положившие на коммитет), а борланд дельфу. И кому тогда этот комитет по продажам поделок Dicumware будет нужен?
0
Avazart
26.07.2016, 23:34
  #58

Не по теме:

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

0
Fulcrum_013
699 / 764 / 74
Регистрация: 14.12.2014
Сообщений: 6,036
Завершенные тесты: 3
26.07.2016, 23:40 #59

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
Зачем? Это же overengineering.
Достаточно
C++Выделить код
1
startNuclearMissile(coordinate);
Умом Россию не понять. Лишь бы ядреной бомбой куда нить запулить. Ребята давайте жить дружно.



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

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
Не по теме:
Если компилятор не наказывает, не означает что программист должен себя вести как му...
Если компилятор делает не то что хочет программист или не делает то что программист хочет, то программист делает более другой компилятор



Добавлено через 55 секунд
Цитата Сообщение от Avazart Посмотреть сообщение
Поправка компиляторы Си,
Вообще то как бе бак-совместимость вроде бы как гарантируется
0
Avazart
Эксперт С++
7246 / 5418 / 297
Регистрация: 10.12.2010
Сообщений: 24,042
Записей в блоге: 17
26.07.2016, 23:47 #60
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вообще то как бе бак-совместимость вроде бы как гарантируется
http://rextester.com/IKIJ85653
0
26.07.2016, 23:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2016, 23:47
Привет! Вот еще темы с ответами:

работа с контейнером 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); Не...


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

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

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