Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Объясните, почему итераторы реализованы как вложенные классы в контейнерах.






Чтобы определять последовательности, необходимо строго контролировать типы итераторов.

371. Чем отличаются итераторы вставки от обычных итераторов?

Позволяют избежать переполнения контейнеров, изменяя их размеры.

372. Каким образом используются потоковые итераторы?

Это итераторы однонаправленного доступа, которые образуют интерфейс для потока, как контейнера.

373. Какие стандартные функторы реализованы в библиотеке STL? Каково их основное назначение?

логические и арифметические операции

когда имеешь дело с числовыми или логическими классами

374. Для чего нужны адаптеры функторов bind1st() и bind2nd()?

вызывают бинарную функцию в качестве первого и второго аргументов соответственно

375. Как применяются адаптеры-отрицатели?

Возвращают противоположный предикат.

376. Почему алгоритмы remove() не удаляют элементы из контейнеров? Как реально удалить элементы из контейнера?

Потому что тогда изменится размер контейнера и сделает недействительными итераторы. Дорогая операция.

Необходимо явно его сжать и укоротить erase();

377. Чем отличается стабильная сортировка от обычной?

Не меняет местами одинаковые элементы. Гарантированная скорость в худших случаях.

378. Какую функцию выполняет алгоритмы unique()?

Удаляют соседние равные элементы сортированного контейнера.

379. Могут ли стандартные алгоритмы работать со строками?

Да.

380. Нужно ли сортировать ассоциативные контейнеры?

Нет.

381. Можно ли алгоритмы для работы с множествами применять для последовательных контейнеров? При каких условиях?

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

382. Какие алгоритмы предназначены для заполнения контейнера значениями? С какими контейнерами они могут работать?

Модифицирующие

transform

fill

generate

replace

reverse

383. Каким образом заполнить с помощью алгоритма generate() последовательный контейнер, не имеющий ни одного элемента?

Использовать inserter

Перечислите алгоритмы, предназначенные для операций с каждым элементом контейнера.

for_each

transform

copy

replace

fill

Что обозначают аббревиатуры- vtbl, vptr

таблица виртуальных функций. в gcc располагается в начале класса.

386. Что такое виртуальный базовый класс.

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.