Language/C++

C++ 11 :: decltype

VallistA2014. 10. 20. 22:52

decltype은 Auto를 커버하는 역할로도 쓰이고 여러가지 방향에서 사용이 됩니다.

대다수의 활용방식은 함수의 리턴 타입을 함수의 선언시 결정할 때 많이 쓰이게 됩니다.

예를 들자면 Template으로 변수를 2개 이상 만들었을 때, Template의 변수형 2개가 각각 다른 형이고 그 함수는 auto 반환이라 가정합시다.

그러면 Auto는 무엇을 반환할지 모르고 오류가 나게 됩니다.

그럴때 명확히 써주는 것이 Decltype 입니다.


좀 더 명확히 말하자면 Decltype은 컴파일러가 표현식의 데이터형을 맞춰 준다는 것 입니다.


1.



2.



이 방법은 함수가 리턴형이 auto이고 template에 모호할 경우에 사용합니다.


Alternative Function Syntax (->)

그 뒤에 decltype을 하면 반환형을 a+ b에 맞추겠다 라는 뜻이 됩니다.

한번 실행을 해보시면 감이 올 것 입니다.

'Language > C++' 카테고리의 다른 글

C++ 11 :: Smart Pointer (Shared_ptr, Unique_ptr, Weak_ptr)  (3) 2015.02.14
C++ 11 :: Array  (0) 2015.02.13
C++ 11 :: decltype  (0) 2014.10.20
C++ 11 :: Uniform Initialization  (0) 2014.10.20
C++ 11 :: Range Based For  (0) 2014.10.20
C++ 11 :: Auto  (0) 2014.10.20

댓글

댓글쓰기 폼

VallistA

병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.

자고 싶습니다. ㅠㅠ

페이스북    :: 링크
카카오톡    :: kingbye1
Github      :: 링크

궁금한점 문의 주시면 답변드리도록 하겠습니다

VISITED

Today : 16

Total : 417,261

SNS

  • 페이스북아이콘
  • 카카오톡아이콘
  • 트위터아이콘