auto
을 최대한 많이 사용하여 코드의 데이터 유형을 변경하는 것이보다 유연합니까? 범위 기반의 for 루프를 사용하는 경우 항상 자동을 사용하는 것이 효율적이므로 다시 돌아가서 for 루프의 데이터 유형을 변경할 필요가 없습니까?유연성을위한 C++ 자동 키워드
답변
간단히 말해서, 그렇습니다. 자세한 내용은 AAA을 참조하십시오. 그러나 이런 경우에주의하십시오
int x = 4;
int& ref = x;
auto y = ref;
y
지금하지 int&
const int x = 5;
auto y = x;
y
이 int
하지 const int
입니다 int
이다;
이러한 사례가 바람직하지 않은 결과를 창출하는 방법에 대한 예를 제공 할 수 있습니까? –
나는 자동차가 그 & amp; const로 정확히 타입을 얻을 것이라고 생각할지도 모른다는 것을 강조하고 싶었다. 그렇지 않습니다. 따라서 첫 번째 예제에서는 참조를 복사하는 것이 아니라 전체 복사본을 만듭니다. –
@HumamHelfawi 글쎄, 정확히 예상 할 수있는 행동이다. 마치'auto &'라고 쓸 수있는 것처럼 보인다. – CoffeeandCode
확실히 예 : https://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/ – CinCout
허브가 그렇습니다. 동의합니다. 범위 기반 for 또는 lambdas). 나는 '항상'부분에 대해 충분히 확신하지는 못했다. 특히 유형이 분명하지 않은 경우 명시 적으로 지정하면 코드를 더 쉽게 읽을 수 있으며 중복도 오류를 포착 할 수 있음을 잊지 마십시오. – MikeMB