๐
2026-04-04
์ฃผ๋ง์๋ ์กฐ๊ธ์ฉ์ ๊ณต๋ถํด๋ณด๋ ค๊ณ ํ๋ค.
์๋ฃํ ๊ธฐ์
ํ๋ ๋ถ๋ถ์ ๋ค์ด๊ฐ๋ auto๋
์ปดํ์ผ ์ ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ํ์
์ ์ถ๋ก ํด์ฃผ๋ ํค์๋๋ค.
auto x = 10;
auto y = 3.14;
// ์ปดํ์ผ ์ ์๋๋ก ๋ฐ๋
int x = 10;
double y = 3.14;
๋์ฒ๋ผ JS,TS๋ฅผ ํด๋ดค๊ฑฐ๋ ์น ์ชฝ์ ๊ณต๋ถํด๋ดค๋ค๋ฉด ๋ญ๊ฐ ๋๋์ด ์ด์ํ๋ค๊ณ ์๊ฐํ์๊ฑด๋ฐ
auto๋ ๋์ ํ์
์ด ์๋๋ผ
์ปดํ์ผ ํ์์ ํ์
์ด ๊ฒฐ์ ๋๋ ๊ฒ์ด๋ค.
๋ํ auto๋ฅผ ์ฐ๋ ์ด์ ๋ ์ฝ๋ ๊ฐ๊ฒฐํ ๋๋ฌธ๋ ์๋ค.
ํนํ ํ์
์ด ๋ณต์กํ iterator๋ template์์ ๋ง์ด ์ฌ์ฉํ๋ค.
std::vector<int>::iterator() it = v.begin();
vs
auto it = v.begin();
๋ํ auto๋ TS์ any์ ๊ฐ์ ์๋ฌด๊ฑฐ๋๊ฐ ์๋๋ค.
์ด๊ธฐ ๊ฐ์ด ๋ฐ๋์ ์์ด์ผํ๋ฉฐ ๋ฐ๋์ง ์๋๋ค. (ํ ๋ณํ์ ๊ฐ๋ฅ)
auto x; // ์ปดํ์ผ ์๋ฌ
auto x = 10;
x = 3.14; // ์ด๋ฏธ int๋ก ์ ํด์ ธ์ ์๋ฌ
---
int x = 10;
auto& xRef = x; // xRef๋ x์ ๊ฐ ์ฐธ์กฐ
auto a = x; // ๋ณต์ฌ
auto& b = x; // ์ฐธ์กฐ
auto* Character = Cast<ACharacter>(Actor);
// lambda๋ ํ์
์ด ์๋ค. ๊ทธ๋์ auto ์ฌ์ฉ
auto Lambda = []() {
UE_LOG(LogTemp, Warning, TEXT("Hi"));
};
auto damage = GetDamage();
ํ์ ์ด int์ธ์ง float์ธ์ง ๋ชจ๋ฅด๋ฉด ์ํํ๋ค.