[C++] auto 키워드

Date:     Updated:

카테고리:

태그:

이 글은 C++ auto 키워드를 공부하고 정리한 글입니다

auto

  • 자료형을 추론
  • JavaScript 등의 언어에 있는 동적인 형(type)과는 다름
  • 실제 자료형은 컴파일하는 동안 결정됨
  • 따라서, 반드시 auto 변수를 초기화해야 됨

    코드 예제

    auto x;             // ERROR
    auto x = "Chris";   // OK
    

    포인터와 참조도 받을 수 있다

    • 포인터를 받을 때 : auto 또는 auto*
    • 참조를 받을 때 : auto&
    • 가독성을 위해서
      • auto로 포인터형을 받을 때는 auto*를 쓰자
      • auto로 참조를 받을 때는 auto&를 쓰자
      • auto로 const 참조를 받을 때는 const auto&를 쓰자

    auto와 함수 반환형

    • auto 키워드는 함수가 반환하는 걸 저장하는 데 때론 유용
    • 함수 반환형이 변해도 auto는 그대로

auto는 엄청나게 좋다?

  • auto 키워드가 타이핑을 좀 줄여 줌
  • 허나 가독성을 떨어뜨림
  • 아직 auto에 관해 모두가 동의하는 코딩 표준이 없음
  • 반복자Map 같은 것들은 auto를 사용하면 좋다

auto의 베스트 프랙티스

  • 명시적이어야 함
    1. auto보다 실제 자료형 사용을 권장
    2. 예외: 템플릿 매개변수와 반복자에는 auto 사용
    3. auto보다 auto*를 사용
    4. auto&보다 const auto&를 사용
  • 전부 가독성과 관련된 것
  • 런타임 성능은 동일


참조

포큐아카데미 C++ 언매니지드 프로그래밍



💻 열심히 공부해서 작성 중이니 오류나 틀린 부분이 있을 경우 
  언제든지 댓글 혹은 메일로 알려주시면 감사하겠습니다! 😸

맨 위로 이동하기

Cpp 카테고리 내 다른 글 보러가기

댓글 남기기