http://tikitak.narod.ru ---- Главная страница сайта
Шаг 58 - Массивы в MFC
Создаем проект
Простое консольное приложение Win32 c поддержкой MFC
Создаем код
#include "afxwin.h"
#include "iostream.h"
#define MaxArray 120
CUIntArray array;
void main()
{
UINT x;
array.SetSize(1,1);
for (x=1;x<(MaxArray+1);x++) array.Add(x);
for (x=1;x<(MaxArray+1);x++) cout << array.GetAt(x)<< endl;
cout << " Size " << array.GetSize() << endl;
array.RemoveAll();
cout << " Size new " << array.GetSize() << endl;
}
Описание
Массив CUIntArray поддерживает работу с переменными типа UINT.
Вначале мы устанавливаем размер массива с использованием SetSize, вот её описание. Первая переменная - это размер массива, вторая - приращение массива при увеличении элементов. От этих двух переменных зависит дефрагментация памяти при работе с массивом.
void SetSize( int nNewSize, int nGrowBy = -1 ); throw( CMemoryException );
Для добавления элементов к массиву используется фукнция Add. Эта функция используется в массивах разных типов, и поэтому её описание очень общее.
int Add( CObject* newElement ); throw( CMemoryException );
Функция GetAt возвращает значение элемента.
CObject* GetAt( int nIndex ) const;
Для получения размера массива необходимо использовать GetSize.
int GetSize() const;
RemoveAll очищает массив от всех элементов.
Это только один из типов массивов, на самом деле, в MFC находится много классов массивов. Вот они
CByteArray
CDWordArray
CObArray
CPtrArray
CUIntArray
CWordArray
CStringArray
Работа с ними в MFC практически одинакова. Трудности могут возникнуть только если вы обределите свой класс переменной для хранения в массиве. Тогда для работы вам понадобится класс CArray.
Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|