본문 바로가기

볼봇의 코딩 생활/C++

[C++] auto 와 decltype 의 차이

최근 언리얼 공부를 하는데 C++ 의 부족함을 느껴 다시 책을 펴고 정독중이다.

그에 따라 블로그에 종종 새로 알게 되는 C++ 의 요소나 특징, 기술을 정리해볼 생각이다.

그 첫글은 auto 와 decltype 의 차이 이다.

 

 

auto 는 자주 써 봤을것이라 생각한다.

만약, 변수타입이 굉장히 길다고 가정 하면....

TArray<TSubclassOf<UCameraComponent*>> CameraComponentPointerArray;

물론 인텔리센스가 있어서 타이핑에 그리 오래걸리지는 않지만, 귀찮은건 사실이다.

 

이러면, 우리는 이렇게 작성한다.

auto NewArray = CameraComponentPointerArray;

 

NewArray 의 타입은 윗 코드 블럭에서 선언 했기 때문에, 우리는 추측해 볼 수 있다.

여튼, 오토타입은 굉장히 자주 쓰는데, 이 짝꿍으로 decltype 이 있다.

 

 

decltype

필자 추측 declare type 를 줄여서 decltype 이 된게 아닐까~ 싶다.

여튼, 개발하면서도 잘 본적이 없긴 한데, 알아 두도록 하자.

 

이것은 마치 특정 변수의 타입을 복사 한다고 생각하면 좋겠다.

decltype(CameraComponentPointerArray) MyNewArray2;

 

처음에는 문법이 낮설다고 느껴질텐데, 쉽게 보도록 하자.

() 안에는 변수가 들어간다. 해당 변수의 타입을 복사 해서, MyNewArray2 를 선언 한다.

 

쉽다. 근데 솔직히 자주 안쓸거 같다 ^^..

 

'볼봇의 코딩 생활 > C++' 카테고리의 다른 글

[C++] 이중 포인터 사용 예  (0) 2019.12.15
[C++] 공유체 union 과 구조체 struct  (0) 2019.08.28