반응형
C++ 구조체
• C와 달리 struct 키워드 없이 구조체 변수를 선언할 수 있다.
• (C++11) 멤버에 디폴츠 초기값을 지정할 수 있다.
#include <cstdio>
struct Point
{
int x = 5;
int y = 5;
};
int main()
{
Point p; // struct Point p;
printf("%d %d", p.x, p.y);
}
📌 [C++] 디폴트 파라미터(default parameter)
Structure Binding
* 구조체 또는 배열의 모든 요소의 값을 한 줄로 처리할 수 있다.
* 타입은 반드시 auto 키워드를 사용해야 한다.
* 요소 개수와 선언된 변수 개수가 동일해야 한다.
#include <cstdio>
struct Point
{
int x = 5;
int y = 5;
};
int main()
{
Point p;
int a = p.x;
int b = p.y;
auto [c, d] = p; // C++17
int arr[3] = {100, 200, 300};
auto [m, n, o] = arr;
}
여러모로 한 줄로 변수를 할당할 수 있다는 점에서
알아두면 좋을 것 같다.
#include <cstdio>
struct Point
{
int x = 5;
int y = 5;
};
Point foo()
{
Point p = { 100, 200 };
return p;
}
int main()
{
Point p;
auto ret = foo(); // Point ret = foo();
auto [x, y] = foo(); // x = p.x; y = p.y;
}
반응형
'프로그래밍 언어 > C++' 카테고리의 다른 글
[C++] decltype 키워드 (1) | 2025.01.02 |
---|---|
[C++] 일관된 초기화 (uniform initialization) (2) | 2025.01.01 |
[C++] 디폴트 파라미터(default parameter) (0) | 2024.12.30 |
[C++] 헤더 변화 및 특징 (3) | 2024.12.27 |
[C/C++] Volatile 키워드 (2) | 2024.12.23 |
댓글