![]() |
|
Программирование >> Операторы преобразования типа
О Функция выполняется с постоянной сложностью. Всегда используйте ее вместо присваивания, если присвоенный объект вам больше не нужен (см. с. 156). О Для ассоциативных контейнеров функция генерирует исключения только в том случае, если эти исключения происходят при копировании или присваивании критерия сравнения. Для остальных контейнеров функция не генерирует исключения. О Поддерживается векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками, void swap (контейнере cl. контейнере cl) О Эквивалент следующего вызова (см. предыдущее описание): с2.swap(c) О Для ассоциативных контейнеров функция генерирует исключения только в том случае, если эти исключения происходят при копировании или при-сваивапии критерия сравнения. Для остальных контейнеров функция не генерирует исключений. О Поддерживается векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками. Прямой доступ к элементам reference контейнер::at (s1ze type idx) const reference контейнер::at (s1ze type idx) const О Обе версии возвращают элемент с индексом idx (первому элементу соответствует индекс 0). О Передача недействительного индекса (отрицательного, большего или равного SizeO) генерирует исключение out of range. О Полученная ссылка может стать недействительной из-за последующих модификаций или перераспределения памяти. О Если вы уверены в правильности индекса, используйте оператор [] - он работает быстрее. О Поддерживаются векторами, деками и строками. reference коягейяер:;operator [] (s1ze type Idx) const reference контейнер: :opeгёtor [] (s1ze type idx) const О Обе версии возвращают элемент с индексом idx (первому элементу соответствует индекс 0). О Передача недействительного индекса (отрицательного, большего или рапного SizeO) приводит к непредсказуемым последствиям. При вызове необходимо быть твердо уверенным в правильности индекса; в противном случае следует использовать функцию atO. О Ссылки, возвращаемые для неконстантных строк, могут стать недействительными из-за последующих модификаций строк или перераспределения памяти (см. с. -170). О Поддерживаются векторами, деками и строками. Т& шар::operator [] (const key type& key) О Оператор [] для ассоциативных массивов. О Возвращает значение, соответствующее ключу key в отображении. О Если в множестве нет ни одного элемента с ключом key, операция автоматически создает новый элемент со значением, инициализируемым конструктором по умолчанию соответствующего типа. Это означает, что индекс в принципе не может быть недействительным. Пример: [iiap<1nt,string> coll; со11[77] = hello ; Вставка ключа 77 со значением hello cout со11[42]: Ошибка - вставка ключа 42 со значением и вывод значения За подробностями обращайтесь к с. 212. ОТ - тип значения элемента. О Эквивалент следующего вызова: (*( (1 nsert([iiake pa1 г(х,Т()))). fi rst)).second О Поддерживается отображениями. reference нонтейнер: -.front () constreference нонтейнер::front О const О Обе версии возвращают первый алемеит (э.лемент с индексом 0). О Вызьшающая сторона должна проследеть за тем, чтобы контейнер содержал хотя бы один элемент (size()>0), иначе последствия вызова будут непредсказуемыми. О Поддерживаются векторами, деками и списками. reference контейнер::Ьдск () const reference нонтейнер::Ьдск О const О Обе версии возвращают последний элемент (элемент с индексом size()-l). О Вызывающая сторона должна проследить за тем, чтобы контейнер содержал хотя бы oдиi э.1емент (size()>0), иначе последствия вызова будут непредсказуемыми. О Поддерживаются векторами, декамн и списками. Операции получения итераторов Здесь описаны функции, возвращаюпие итераторы для перебора элементов контейнера. В табл. 6.34 перечислены категории итераторов (см. с. 257) для разных типов контейнеров. Таблица 6.34. Категории итераторов для разных типов контейнеров
Iterator контейнер: -.begГ) () const iterator контейнер: :Ьедг\ () const О Обе версии возвращают итератор, уста1ювленный в начало контейнера (в позицию первого элемента). О Если контейнер пуст, вызов эквивалентен следующему: контейнер: :end() О Поддерживаются векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками. iterator контейнер: :ёГ]6 О const 1terator контейнер:\епй О const О Обе версии возвращают итератор, установленный в конец контейнера (в позицию за последним элементом). О Если контейнер пуст, вызов эквипалеитеи следующему: контейнер: :beg1п() О Поддерживаются векторами, деками, списками, множествам!, мультимножествами, отображениями, мультиотображениями, строками. reverse 1terator контейнер;;rbegin () const reverse 1terator контейнер: :rbegin О const О Обе версии возвращают обратный итератор, установленный в начало последовательности обратного перебора элементов (то есть в позицию последнего элемента контейнера). О Если контейнер пуст, вызов эквивалентен следующему: контейнер:: rendO О За дополнительной информацией об обратных irreparopax о6рап1айтесь на с. 270. О Поддерживаются векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |