auto
특히 for 루프에서 키워드 를 사용할 때의 장단점은 무엇입니까 ?
for(std::vector<T>::iterator it = x.begin(); it != x.end(); it++ )
{
it->something();
}
for(std::map<T>::iterator it = x.begin(); it != x.end(); it++ )
{
it->second->something();
}
for(auto it = x.begin(); it != x.end(); it++ )
{
it->??
}
당신이지도 또는 당신이 모르는 것 벡터에 대한 반복자를 가지고 있는지 모르는 경우처럼 보인다 사용 여부를 first
하거나 second
또는 개체의 바로 직접 액세스 속성, 아니?
키워드 사용 여부에 대한 C # 토론을 생각 나게합니다 var
. 내가 지금 얻는 인상은 C ++ 세계에서 사람들이 C # 세계 auto
보다 싸울 필요없이 키워드 를 채택 할 준비가되어 있다는 것 var
입니다. 저에게 제 첫 번째 본능은 변수의 유형을 알고 싶어서 어떤 연산을 수행 할 수 있는지 알 수 있다는 것입니다.
for (auto& it : x)
(또는 복사를 원한다면 참조없이)
x
무엇인지조차 모르는 x
경우 처음에 해당 루프를 작성해서는 안됩니다. ;-)
var
습니까? 나는 그것을 놓쳤다.