c++ 클래스 객체 생성시 생성자? 질문

zlzlzl315의 이미지

이걸 출력하면 x에 1이 들어가는데 어떤 구조로 대입되는지 모르겠네요. 생성자가 없어도 기본생성자가 알아서 순서대로 x,y에 값을 넣어주는것 같기도하고 모르겠네요.

#include <iostream>
using namespace std;
class test
{
public:
	int x=0;
	int y=0;
	void see()
	{
		cout << x << " " << y;
	}
};
int main()
{
	test t{ 1 };
	t.see();
}
익명 사용자의 이미지

제시된 코드에서 class test는 전형적인 aggregate이며, 따라서 Aggregate initialization이 일어나게 됩니다.

https://en.cppreference.com/w/cpp/language/aggregate_initialization

이 기능을 이용하면, 그저 데이터를 모아서 저장할 뿐인 클래스의 경우 따로 생성자를 만들지 않고도 마치 배열 초기화 하듯 초기화할 수 있지요.

zlzlzl315의 이미지

대박..감사합니다