์ํํ ๋๋ ๋ฐฐ์ด์ฐ๊ณ
๋ฐฐ์ด์์ ํค๊ฐ์ ๋์ํ๋ ์๋ฆฌ๋จผํธ ์ฐพ์๋๋ ํด์ํ ์ด๋ธ๋ก ๋ฐฐ์ด ์ธ๋ฑ์ค ๊ฒ์ํ๊ณ
(์์ ์์ ๋ฃ์)
TArray<FTransform> ย ย ย MyArray
Map<FObjectKey, int32> ย MyMap
vodi DoSomethingWithArray()
{
ย ย // ๋ฐฐ์ด๋ก ์ํ
ย ย for (auto& Elem : MyArray)
ย ย {
ย ย ย ย DoSomething(Elem)
ย ย }
}
FTransform& Find(const FObjectKey& InKey)
{
ย ย // ํค์ํ
์ด๋ธ๋ก ํค๊ฐ์ ๋์ํ๋ ๋ฐฐ์ด์ ์๋ฆฌ๋จผํธ ์ธ๋ฑ์ค ๊ฒ์
ย ย int32 Index = MyMap[InKey]
ย ย return MyArray[Index]
}
๊ทธ๋ฐ๋ฐ ์ธํฐ๋ท์ ๊ฒ์ํด๋ด๋ ์ด๋ฐ ๋ฐฉ๋ฒ์ ์ ๋ณด์ด๋๋ฐ
๊ทธ๋ฅ ๊ฐ๋ป์ง์?
๋ฐ์ดํฐ๊ฐ ์ ์ผ๋ฉด ๋ฐฐ์ด์ด ์ํ๋ ๊ฒ์ ๋ ๋ค ์ข๋ค๋๋ฐ, ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ์๋ ์ํ๋ ๊ฒ์ ๋ ๋ค ์ข์ ๋ฐฉ๋ฒ์์?
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ค ํ๋ฒ ์์๋ด์ผ์ง
?? ๋ฐฐ์ด์์ ์ธ๋ฑ์ค๋ก ๋ฐ๋ก ๊ฐ์ ธ์ค๋ฉด ๋๋๊ฑฐ ์๋๊ฐ์
์ ํน์ ์ค๋ธ์ ํธ์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ๊ณ ์ถ๋ค๋ ๋ป์ธ๊ฐ
ใ ใ ๋ด๊ฐ ์ค๋ช ์ ์ ๋ชปํ๋๋ณด๋ค
๊ทผ๋ฐ ๊ณต๊ฐ๋ณต์ก๋ ํฌ์ํ๊ณ ๋์ ๋๋ฆฌ๋ฅผ dict1<id,key> dict2<key,id> ์ด๋ ๊ฒ ๋๊ฐ ๋ฌ์ ํ๋ ๋ฐฉ๋ฒ๋ ์์
์ ๊ทธ๊ฒ ์๋๋ผ ๊ทธ๋ฅ ์ํ์ฉ ๋ฐฐ์ด์ด๋ ๊ฒ์์ฉ ๋งต ํ๋์ฉ ์ฌ์ฉํ๋ ๊ฑฐ ์ด๋ป๋๋ ๋ง์ด์์
๊ฒฐ๊ตญ ๋ด๊ฐ ๋งํ๊ฑฐ๋ ๋น์ทํ์๋ . id๋ฅผ int๊ฐ์ผ๋ก ํ๋ฉด dict1์ ๋ฐฐ์ด๋ก ๊ตฌํํ๋ฉด ๋๊ณ dict2๋ ํด์ํ ์ด๋ธ์ด๊ณ
๊ทธ๋ด๋ฐ์ ์๋ก์ด ํด๋ผ์ค ํ๋ ๋ง๋ค์ด์ ์ธ๋ฑ์ค๊ฐ์ ๋ฃ์๋ป
๊ตณ์ด ์ ์ ๋ ๊ฒ...
์ํํ ๋ ์บ์ํํธ ์ด์ ์ ์๊ฒ ๋ค. Blittableํ์ ํ์
๋์ฒด ์ ๊ทธ๋ฌ๋๊ฑด๋ฐ
๋ณ๊ฒฝ๋ ๋ ์ข ๊ท์ฐฎ์ ๋ฌธ์ ๊ฐ ์๊ธดํ๋ฐ ๋ณ๊ฒฝ๋์ง ์๋ ๋ฐ์ดํฐ๋ผ๋ฉด ์ ๋ฐ์์ผ๋ก ์ฐ๋๊ฑฐ ๋์์ง ์์
๊ฒ์์ด ๋ง์ผ๋ฉด ๊ทธ๋ฅ ๋์ ๋๋ฆฌ ํค ์ฐ๊ณ ์ํ๋ ๋์ ๋๋ฆฌ๋ก ํ๋ฉด ๋์์ ์ ๋ฐฐ์ด์ ์จ ์ ์ด์
์์๊ฐ ์ค์ํ๊ฐ๋ด