Массивы, списки и словари
Массивы, списки и словари
В состав MFC включен целый набор классов, предназначенных для хранения информации в массивах, списках и словарях. Все эти классы наследованы от базового класса CObject.
Не смотря на то, что в языке Си определено понятие массива, классы MFC обеспечивают вам более широкие возможности. Вы, например, можете динамически изменять размер массива, определенного с помощью соответствующего класса.
Для представления массивов предназначены следующие классы.
Класс Массив содержит CByteArray Байты CDWordArray Двойные слова CObArray Указателей на объекты класса CObject CPtrArray Указателей типа void CStringArray Объекты класса CString CUIntArray Элементы класса unsigned integer или UINT CWordArray СловаФактически все перечисленные в таблице классы различаются только типом элементов массива. Поэтому вместо использования этих классов гораздо проще воспользоваться шаблоном CArray. Используя шаблон CArray, вы можете определять массивы из элементов любых типов и классов. Шаблон CArray наследует свойства класса CObject.
Для построения массивов вы можете также воспользоваться шаблоном CTypedPtrArray. Этот шаблон не наследуется от базового класса CObject, поэтому использовать методы класса CObject для него нельзя.
Для решения многих задач используются такие структуры хранения данных, как списки. MFC включает ряд классов, наследованных от базового класса CObject, которые предоставляют программисту готовое средство для создания собственных списков. В этих классах определены все методы необходимые при работе со списками – добавление нового элемента, вставка нового элемента, определение следующего или предыдущего элемента в списке, удаление элемента и т. д.
Перечисленные в таблице классы позволяют построить списки из элементов любых типов и объектов любых классов. Однако удобнее пользоваться шаблоном CList, также наследованным от базового класса CObject. Для построения списков вы можете также использовать шаблон CTypedPtrList. Этот шаблон не наследуется от базового класса CObject.
В библиотеке классов MFC определена еще одна группа классов, позволяющая создавать словари. Словарь представляет собой таблицу из двух колонок, устанавливающую соответствие двух величин. Первая величина представляет ключевое значение и записывается в первую колонку таблицы, а вторая связанное с ней значение, хранящееся во второй колонке. Словарь позволяет добавлять в него пары связанных величин и осуществлять выборку значений по ключевому полю.
Класс Ключевое поле Поле, связанное с ключевым CMapPtrToPtr Указатель типа void Указатель типа void CMapPtrToWord Указатель типа void Слово CMapStringToOb Объекты класса CString Указатели на объекты класса CObject CMapStringToPtr Объекты класса CString Указатель типа void CMapStringToString Объекты класса CString Объекты класса CString CMapWordToOb Слово Указатели на объекты класса CObject CMapWordToPtr Слово Указатель типа voidВы можете создавать словари, имеющие поля любых типов и классов, если воспользуетесь шаблоном CMap. Шаблон CMap наследуется от базового класса CObject. Для построения словарей можно также использовать шаблон CTypedPtrMap. Шаблон CTypedPtrMap не наследуется от базового класса CObject.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Лекция 5. Списки и массивы
Энциклопедии и словари
Энциклопедии и словари Вопрос 29. Какие энциклопедии можно найти в Интернете?Приведу адреса сайтов с самыми интересными энциклопедиями.• http://knol.google.com. Энциклопедия наподобие «Википедии» от Google. Ее особенность – статьи для энциклопедии пишут только авторитетные люди,
Списки
Списки Списки используются для того, чтобы представить читателю перечень каких-либо позиций, пронумерованных или непронумерованных, — пунктов списка. Список с пронумерованными пунктами так и называется — нумерованным, а с непронумерованными — маркированным. В
12.8. Словари и переводчики
12.8. Словари и переводчики Лично я отрицательно отношусь к программам, которые предназначены для автоматического перевода текста с одного языка на другой. Как бы ни старались разработчики таких программ, но добиться сколь-нибудь приемлемого качества перевода им не
15.5.6. Списки ACL
15.5.6. Списки ACL ACL (Access Control Lists) — списки контроля доступа. Довольно часто возникает потребность группировки однотипных параметров в единое целое для их последующей обработки. Для эффективного решения этой задачи используются списки контроля доступом (ACL). Например: acl SSL_ports
18.6. Списки ACL
18.6. Списки ACL ACL (Access Control Lists) — списки контроля доступа. Довольно часто возникает необходимость группировки однотипных параметров в единое целое для их последующей обработки. Для эффективного решения этой задачи используются списки ACL. Например:acl SSL_ports port 443 563Эта запись
23.2.4. Списки
23.2.4. Списки Библиотека Glib содержит средства для работы с одно- и двусвязными списками. Особенность двусвязного списка заключается в том, что по нему можно перемещаться в обоих направлениях — назад и вперед. В файле gslist.h (Glib Single List) описаны средства для работы с
8.1. Словари и энциклопедии
8.1. Словари и энциклопедии Приходится ли вам искать в Интернете значения определенных слов или фраз, находить перевод слов с различных языков? Наверняка у каждого есть свои любимые способы решения этих задач. Кто-то пользуется словарями, установленными на компьютере (Lingvo,
Глава 18 Электронные переводчики и словари. ABBYY Lingvo 12
Глава 18 Электронные переводчики и словари. ABBYY Lingvo 12 Электронные словари в наше время стали одним из самых популярных программных продуктов. Они успешно конкурируют со своими бумажными собратьями. Это естественно: большинство документов готовится с помощью
11.10. Десериализация нотации JSON в массивы и словари
11.10. Десериализация нотации JSON в массивы и словари Постановка задачи Имеются данные в формате JSON, их необходимо десериализовать в словарь или
2.6. Словари ERwin
2.6. Словари ERwin 2.6.1. Генерация словаря ERwin Для управления большими проектами ERwin имеет специальный инструмент - ERwin Dictionary, который обеспечивает коллективную работу над диаграммами и позволяет сохранять и документировать различные версии моделей данных. ERwin Dictionary
Словари – шаблон CMap
Словари – шаблон CMap Словарь, это таблица переменной длины, состоящая из двух колонок. Первая колонка содержит ключевые поля, а вторая – соответствующие им значения. Пользуясь объектами этого класса, вы можете по ключевому полю получить связанное с ним значение. Для
Переводчики и словари
Переводчики и словари Современному компьютерному пользователю необходимо хотя бы на элементарном уровне знать английский язык. Несмотря на локализацию компанией Microsoft своей операционной системы, офисного пакета Microsoft Office и других программ, большая часть программного
Дельта-списки и косвенные дельта-списки САС
Дельта-списки и косвенные дельта-списки САС Назначение дельта-списка - информировать об изменениях в САС, произошедших с момента его выпуска или с некоторого заданного момента времени, другими словами, о приращении САС (как известно, приращение обозначается символом ,