지역 변수를 만들 때 (const) auto&
또는 사용하는 것이 맞 auto
습니까?
예 :
SomeClass object;
const auto result = object.SomeMethod();
또는 const auto& result = object.SomeMethod();
SomeMethod ()는 원시 값이 아닌 값을 반환합니다. 다른 사용자 정의 유형일 수도 있습니다. 내 이해는 const auto& result
SomeMethod ()에 의해 반환 된 결과가 반환 된 형식에 대한 복사 생성자를 호출하기 때문에 정확합니다. 내가 틀렸다면 나를 고쳐주세요.
원시 유형은 어떻습니까? 나는 const auto sum = 1 + 2;
옳다고 생각한다 .
범위 기반 for 루프에도 적용됩니까?
for(const auto& object : objects)
auto
작동 하는 방식입니다 (특이한initializer_list
s의 경우 제외). 템플릿 컨텍스트에서 추론되지 않음),auto
deduction 을 입력합니다.