[c++] 이니셜라이저 리스트 (Initializer lists)

C++11 부터 추가된 이니셜라이저 리스트(initializer lists)는 배열, 구조체, 클래스 객체의 멤버 변수를 초기화하는 간편하고 유연한 방법을 제공합니다.

이니셜라이저 리스트 기본 문법

이니셜라이저 리스트의 기본 문법은 다음과 같습니다:

Type object_name{value1, value2, value3...};

여기서 Type은 초기화할 객체의 데이터 타입이고, object_name은 해당 객체의 이름입니다. value1, value2, value3 등은 해당 객체를 초기화할 값들입니다.

배열 초기화

int arr[]{1, 2, 3, 4, 5}; // 배열 초기화

구조체 초기화

struct Point {
    int x;
    int y;
};

Point p1{10, 20}; // 구조체 초기화

클래스 객체 초기화

class MyClass {
public:
    int data;
    MyClass(int value) : data(value) {}
};

MyClass obj{5}; // 클래스 객체 초기화

초기화리스트의 장점

이니셜라이저 리스트를 사용하면 축약된 초기화를 할 수 있을 뿐 아니라 초기화 오류를 방지하고 코드 가독성을 높일 수 있습니다.

이니셜라이저 리스트를 사용함으로써 데이터 멤버들이 private일 경우에도 클래스 객체를 초기화할 수 있습니다.

또한, 이니셜라이저 리스트를 사용하면 배열의 크기를 명시적으로 지정할 필요가 없어져서 코드 유연성이 높아집니다.

여기까지 이니셜라이저 리스트에 대한 간략한 소개였습니다. 만약 더 깊이있는 이해를 원하신다면, 아래 참고 자료를 참조하시기 바랍니다.

참고 자료