728x90
auto
- auto는 C++ 11 이후에 추가된 키워드이다.
- auto를 사용하면 변수를 초기화할 때, 초기화 값에 따라 자동으로 타입을 결정해 주므로, 명시적으로 타입을 지정하지 않아도 된다.
- 변수를 초기화할 때 초기화 값에 따라 자동으로 타입을 결정해 준다.
- auto로 변수의 타입을 지정할 때는 항상 초기화(값의 대입)가 필요하다.
- 초기화 전까지는 자료형의 크기를 모르므로, 구조체나 클래스의 멤버 변수로 사용할 수 없다.
- 또한, 지역 변수로만 사용이 가능하며, 전역 변수나 함수의 인자로 사용할 수 없다.
auto a = 3; // int 타입
auto b = 3.14f; // float 타입
auto c = 1.23; // double 타입
auto d = "hello world"; // const char* xkdlq
auto e = { 10,20,30 }; // int 배열 타입
auto arr = { 1, 2, 3, 4 };
for (auto number : arr)
cout << number << endl;
auto를 많이 사용할 경우 코드의 가독성이 떨어질 수 있으므로, 되도록 사용하지 않는 것이 좋다.
언리얼 문서에서는 그냥 사용을 하지 말라고 한다.
다만, 값 타입이 아주 명확하고, 아주 긴 이터레이터 같은 경우에는 일시적으로 사용하기도 한다.
auto를 포인터, 참조, const에 사용한 예제
#include <iostream>
int main()
{
int Num = 10;
auto* A1 = &Num;
auto& A2 = Num;
A2 = 20;
const auto A3 = Num;
}
728x90
'📕Programming > 📝C/C++' 카테고리의 다른 글
| [C / C++] enum class (0) | 2023.11.29 |
|---|---|
| [C / C++] typedef / using (0) | 2023.11.29 |
| [C / C++] algorithm 라이브러리 (0) | 2023.11.24 |
| [C / C++] 함수 포인터, 함수 객체, 람다 표현식 (0) | 2023.10.24 |
| [C / C++] C++ 타입 변환 (캐스팅) 4종류 (0) | 2023.10.12 |