auto

headkio·2020년 9월 11일
0

C++

목록 보기
17/35
post-thumbnail

auto

  • 데이터형을 자동으로 추론 정한다.
    컴파일시에 정해진다. -> 초기화가 필수다.

  • auto, auto*, auto& 셋다 가능.

  • auto가 auto를 대체할 수 있다. (하지만 가독성을 위해 auto로 표현)
    auto가 auto&를 대체할 수 없다.

  • const를 포함하여 대체 가능하지만 const는 따로 표현해 주자. (가독성)

auto x = const int y; (x)
const auto x = const int y; (o)
  • 남용하지 말고 가능하면 실제 타입을 쓰자. 가독성 하락.

사용처

  • 반복자
    뻔히 아는 정형화된 문장에 굉장히 긴 타입을 대체
for (std::vector<int>::const_iterator it = v.begin(); it != v.end(); ++it
{
 // ...
}
for (auto it = v.begin(); it != v.end(); ++it
{
 // ...
}
  • template
    바로 오른쪽에 타입이 있다.
    복잡한 template을 줄일 수 있다.
    앞에 타입 다 적어주는게 편할 수 있다 (호불호)
MyArray<int>* arr = new MyArray<int>(10);
auto arr = new MyArray<int>(10);
profile
돌아서서 잊지말고, 잘 적어 놓자

0개의 댓글