|
Программирование >> Операторы преобразования типа
Вывод всех элементов for (pos = stocks.beginO: pos \= stocks.endO; ++pos) { cout stock: pos->first \t price: pos->second endl: cout endl: /* Переименование ключа VW в Volkswagen * - возможно только с созданием нового элемента */ stocks[ Volkswagen ] = stocks[ VW ]: stocks.eraseCVW ): Вывод всех элементов for (pos = stocks.beginO: pos != stocks.endO: ++pos) { cout stock: pos->first \t price: pos->second endl: Программа выводит следующий результат: stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock BASF price: 369,5 BMW price: 834 Daimler price: 819 Siemens price: 642.2 VW price: 413.5 BASF price: 739 BMW price: 1668 Daimler price: 1638 Siemens price: 1684,4 VW price: 827 BASF price: 739 BMW price: 1668 Daimler price: 1638 Siemens price: 1684.4 Volkswagen price: 827 Мультиотображение как словарь в следующем примере демонстрируется словарь (мультиотображение, в котором ключи и значения относятся к строковому типу). cont/mmapl.cpp #include <iostream> #include <гпар> include <string> #include <iornanip> using namespace std: int tna1n() Определение словаря (мультимножества string/string typedef mult1map<string,string> StrStrMMap: Создание пустого словаря StrStrMMap diet; Вставка нескольких элементов в произвольном порядке diet diet diet diet diet diet diet diet diet i nsert(make insert(make insert(make 1nsert(make 1nsert(riake 1n5ert(make insert(make 1nsert(make 1nsert(make .pa .pa .pa pa .pa .pa .pa pa pa1r( day . Tag )): strange . fremd )): car , Auto )): smart . elegant )): trait . Merkmal )); strange , seltsam )) smart . rafflnlert ) smart . klug )); clever . rafflnlert Вывод всех элементов StrStrMMap::Iterator pos; cout.setf C1os::left. 1os;;adjustf1eld): cout setwClQ) engllsh german endl: cout setfillC-) setw(20) setfi11( ) endl; for Cpos = diet.beginO: pos != dict.endO: ++pos) { cout setw(lO) pos->f1rst.c str() pos->second endl; cout endl; Вывод всех значений для ключа smart string wordC smart ); cout word ; endl ; for (pos = d1ct,lower bound(word); pos != dict.upper bound(word); ++pos) ( cout pos->second endl; Вывод всех ключей для значения rafflnlert word = ( rafflnlert ); cout word ; endl: for (pos = diet.beginO; pos 1= dict.endO: ++pos) { If (pos->second == word) { cout pos->f1rst endl; Результат выполнения программы выглядит так:
elegant raffiniert klug raffiniert: clever smart Поиск элементов с известным значением в следующем примере показано, как при помощи глобального алгоритма find if() найти элемент с заданным значением. cont/mapfind.cpp Iinclude <1ostream> Iinclude <algorithm> Iinclude <map> using namespace std: Объект функции, проверяющий значение злемента отображения template <class К. class V> class value equals { private: V value: publ1С: Конструктор (инициализация значения, используемого при сравнении) value equals (const V& v) : value(v) { Сравнение bool OperatorO (pair<const K. V> elem) { return elem.second == value; int mainO
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |