Unreal Engine 4
http://uengine.ru/forum/

Ассоциативный массив С++
http://uengine.ru/forum/viewtopic.php?f=19&t=4657
Страница 2 из 2

Автор:  adinadin [ 28 июн 2017, 17:44 ]
Заголовок сообщения: 

Цитата:
Можно объявить 2 обычных TArray, находить номер элемента в первом и по нему определять соотвествие во втором.
Но, если возможно, хочется видеть именно ассоциативный массив.


Если сильно не хочется использовать Dictinary , то можно поступить следующим образом : создать структуру, что то вроде
struct MyStruct
{
public:
int id;
int value; //ну или что хочется
}
и создать массив структур
TArray<MyStruct> *myStruct=new TArray<MyStruct>;

Автор:  WssIDs [ 28 июн 2017, 18:28 ]
Заголовок сообщения:  Re:

gary_cho писал(а):
тока он не работает, как ассоцииативный массив! Я пробывал юзать и он не сортирует!


А в каком плане он не сортирует?)

Автор:  gary_cho [ 28 июн 2017, 23:54 ]
Заголовок сообщения:  Re: Re:

WssIDs писал(а):
gary_cho писал(а):
тока он не работает, как ассоцииативный массив! Я пробывал юзать и он не сортирует!


А в каком плане он не сортирует?)


Если мне не изменяет память, то когда напихал в контейнер пар, то остановился на breakpoint после и глянул что внутри, а там был тот же порядок, что я вводил.. но могу ошибаться. Короче мне нужно было напихать пар ключ значение и потом пройтись по всему контейнеру, и это у меня не вышло.

Автор:  WssIDs [ 29 июн 2017, 08:27 ]
Заголовок сообщения: 

Автоматической сортировки в TMap нету. Придется использовать методы KeySort или ValueSort, смотря что нужно по ключу или по значению.
А пройтись по контейнеру, через for.

Код:
for(auto& Elem : HumanMap)
{
   UE_LOG(SaveGameLog, Log, TEXT("%d - %s\n"), Elem.Key,*Elem.Value);
}


если я правильно понял, под понятием пройтись по контейнеру.

Автор:  gary_cho [ 29 июн 2017, 13:32 ]
Заголовок сообщения: 

это нужно сделать в Blueprint, а не на с++

Автор:  Svarog [ 07 июл 2017, 12:54 ]
Заголовок сообщения: 

Дествительно может проще использовать два обычных массива. Наверно и быстрее будет...

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/