SW/C++

C++ : auto : 반복자, 템플릿 : 사용해야 할 때, 방법 추천

얇은생각 2020. 4. 5. 07:30
반응형

Modern C++

 

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를 사용해도 런타임 성능은 동일합니다.

반응형