반응형
auto와 반복자
반복자에는 auto 키워드가 매우 유용합니다.
for (auto it = v.begin(); it != v.end(); ++it)
{
//
}
반복자를 직접 구현해서 for문을 돌리는 것은 매우 골치 아픕니다. 만약 map을 for문 돌리때에는 더더욱 골치아픕니다. 이러한 것들을 auto를 활용하면 타이핑도 줄이고, 매우 간결해집니다.
auto와 템플릿
MyArray<int>* a = new MyArray<int>(10);
auto* a =new MyArray<int>(10);
일부 템플릿에서도 마찬가지입니다. 누가 보아도 알 수 있는 타입인지 알 수 있는 경우에는 auto를 활용해도 무방하다고 할 수 있습니다.
베스트 프랙티스
auto보다 실제 자료형 사용을 권장합니다. 다만, 템플릿 매개변수와 반복자에는 auto를 사용합니다.
다만 포인터에서는 auto 보다 auto*를 사용하고 참조에서는 auto&보다 const auto&를 사용하도록 합니다. 전부 가독성과 관련된 내용들이라고 할 수 있습니다.
auto를 사용해도 런타임 성능은 동일합니다.
반응형
'SW > C++' 카테고리의 다른 글
C++ : static_assert : 예제 및 활용 방법 : 참조용 (0) | 2020.04.07 |
---|---|
C++ : static_assert 와 assert : 차이점, 활용법, 적용 방법 (0) | 2020.04.06 |
C++ : auto : const 형 받기, 함수 반환형 받기 : 활용법, 주의사항, 팁 (0) | 2020.04.04 |
C++ : auto : 포인트 참조 및 받기 : 사용법, 주의점 (0) | 2020.04.03 |
C++ : STL 알고리즘 참고 사이트 : C++03과 C++11 이후의 차이점 (0) | 2020.04.02 |