반응형
[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 키워드
const 키워드C 언어에서 const는 읽기 전용 변수로 만들어주는 예약어일 뿐완벽한 상수 기능을 갖도록 해주지 못했다.const int n; // 초기값 오류 없음char str[n]; // 배열의 요소 개수로 사용불가int*
zoosso.tistory.com
[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 |
댓글