먼저, Effective Modern C++을 책을 읽기 시작했습니다.
항목 1~4는 어딨을까요? 필자는 템플릿을 문법만 알지.. 잘 쓰지 못한다.. 그래서 잠깐 스킵
auto 의 장점
1. 변수의 초기화를 빼먹는 실수를 방지한다.
int x1; // 문맥에 따라서는 초기화되지 않을 수 있음
auto x2; // Error
auto x3 = 0; // Ok
2. 반드시 형식을 지정해줘야 하는 경우보다 편리성과 효율성에서 장점을 가진다.
std::function 객체를 통해서 클로저를 호출하는 것은 거의 항상 auto로 선언된 객체를 통해 호출하는 것보다 느리다.
메모리와 시간을 더 많이 소비한다.
와우....처음 알았음..
3.32 bit -> 64bit 이식할 때 문제 방지를 할 수 있다.
4. 리팩토링의 장점
초기화 표현식의 형식이 변하면 자동으로 변한다.
auto 의 단점
1. 가독성
정리
- auto 변수는 반드시 초괴화해야 하며, 이식성 또는 효율성 문제를 유발할 수 있는 형식 불일치가 발생하는 경우가 거의 없으며, 대체로 변수의 형식을 명시적으로 지정할 때보다 타자량도 더 적다.
- auto로 형식을 지정한 변수는 항목 2와 항목 6에서 설명한 문제점들을 겪을 수 있다.
'서적 > Effective Modern C++' 카테고리의 다른 글
항목 8: 0과 NULL보다 nullptr를 선호하라 (0) | 2022.08.18 |
---|---|
항목 7: 객체 생성 시 괄호(())와 중괄호({})를 구분하라 (0) | 2022.07.13 |
항목 6: auto가 원치 않은 형식으로 연역될 때에는 명시적 형식의 초기치를 사용하라 (0) | 2022.07.06 |