185 |
С т р а н и ц а
Глава 9. Шаблоны и обычно
используемые контейнеры.
В Главе 7.
Динамическое распределение памяти, мы говорили о том, как вы
будете использовать динамическое распределение памяти, если вы хотите создать
новый массив, размер которого неизвестен в момент компиляции. Форма
динамического
распределения памяти такова
int * array = new int[ number_of_elements ]
.
Вы также видите это динамическое распределение, использует ключевое слово
new[]
, требующее от вас позже вызов
delete[]
в массиве, иначе у вас будет утечка
памяти. Такое управление памятью это тяжёлая работа.
Есть ли
способ создать массив динамического размера и чтобы память
автоматически управлялась для вас самим С++? Ответ да. Есть объектные типы С++
(называемый контейнеры), которые управляют динамическим распределением и
перемещением памяти автоматически. UE4 предоставляет пару типов для
хранения ваших данных в динамически изменяемых собраниях.
Есть две разные группы шаблонных контейнеров. Есть семья UE4 контейнеров
(начинающаяся с Т*) и семья контейнеров
Стандартной библиотеки шаблонов
(
Standard Template Library) (
STL) С++. И есть некоторые отличия между
контейнерами UE4 и контейнерами STL, но отличия небольшие. Наборы
контейнеров UE4 написаны с выполнением игры в уме. Контейнеры STL C++ также
работают хорошо и их интерфейсы немного более последовательны
(последовательность в API это то, что вы предпочли бы). Какой набор контейнеров
использовать, решать вам. Однако вам рекомендуется использовать набор
контейнеров UE4, так как это гарантирует, что у вас не возникнет проблем с
кроссплатформеностью, когда вы попробуете компилировать ваш код.
Достарыңызбен бөлісу: