반응형
[C++] auto 키워드
auto 키워드는 선언된 변수의 초기화 식을 사용하여
해당 형식을 추론하도록 컴파일러에 지시
이것을 타입 추론(type inference)라고 한다.
#include <iostream>
using namespace std;
int main()
{
auto sum = 1 + 3;
cout << sum << endl; // 4
cout << typeid(sum).name() << endl; // int
return 0;
}
auto 키워드 주의 사항
생성 시 변수를 초기화 할 때만 작동한다.
초기화 값을 사용하지 않고 생성된 변수는 이 기능을 사용할 수 없다.
또한 auto 키워드는 함수 매개 변수와 함께 사용할 수 없다
auto for문 (Ranged-based for loops)
#include <iostream>
using namespace std;
int main() {
int arr[5] = {100, 200, 300, 400, 500};
for (auto num : arr)
{
cout << num << ' ';
}
}
선언된 변수에 현재 배열 요소의 값을 할당한다.
배열 크기에 맞춰 순회한다.
auto는 각 배열 요소가 복사되기 때문에
참조 형태로 해주면 비용을 절약할 수 있다.
읽기 전용인 경우 const 키워드로 같이 만들어주자.
#include <iostream>
using namespace std;
int main() {
int arr[5] = {100, 200, 300, 400, 500};
for (auto num : arr)
{
cout << num << ' ';
}
for (const auto& num : arr)
{
cout << num << ' ';
}
}
반응형
'프로그래밍 언어 > C++' 카테고리의 다른 글
[C/C++] struct 차이 비교 (1) | 2024.11.08 |
---|---|
[C/C++] #define과 const 차이 (7) | 2024.11.02 |
[C/C++] union 공용체 (2) | 2024.10.27 |
[C/C++] Header Guard 활용 (2) | 2024.07.24 |
[C++] 생성자 함수 (2) | 2024.06.03 |
댓글