본문 바로가기
프로그래밍 언어/C++

[C++] auto 키워드

by 까망 하르방 2024. 10. 28.
반응형

[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++] const 키워드

 

[C/C++] const 키워드

const 키워드C 언어에서 const는 읽기 전용 변수로 만들어주는 예약어일 뿐완벽한 상수 기능을 갖도록 해주지 못했다.const int n; // 초기값 오류 없음char str[n]; // 배열의 요소 개수로 사용불가int*

zoosso.tistory.com

 

 

📌 [C++] constexpr 키워드

 

[C++] constexpr 키워드

constexpr • 컴파일 시간에 결정되는 상수 값 • C++11 에서 도입된 문법 • 템플릿 인자로 사용 가능 • 상수식 계산, 배열 크기 정의 등 컴파일 시간에 최적화되는 코드 작성에 유용 const 키워드 비

zoosso.tistory.com

반응형

'프로그래밍 언어 > 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

댓글