C++에서 2차원 배열을 특정 값으로 초기화하는 방법은 사용하는 배열의 종류에 따라 다릅니다. 순수 C-스타일 배열, STL std::array, 그리고 std::vector 각각에 대한 방법을 알려드릴게요.

1. 순수 C-스타일 2차원 배열 (Raw Array)

순수 C-스타일 2차원 배열은 가장 기본적인 형태입니다. 특정 값으로 초기화하려면 몇 가지 방법이 있습니다.


2. std::array를 사용한 2차원 배열 초기화

std::array는 런타임이 아닌 컴파일 타임에 크기가 정해지는 배열이며, STL 컨테이너로서의 이점을 가집니다.


3. std::vector를 사용한 2차원 배열 초기화

std::vector는 동적으로 크기를 조절할 수 있는 배열입니다. 2차원 std::vector는 "벡터의 벡터" 형태로 구현됩니다.

요약

배열 종류 0으로 초기화 특정 값으로 초기화
순수 C-스타일 배열 int arr[3][4] = {}; for 루프 또는 std::fill
std::array std::array<...> arr = {}; for 루프 또는 std::array::fill 멤버 함수
std::vector std::vector<...>(rows, std::vector<...>(cols)); std::vector<...>(rows, std::vector<...>(cols, value));

std::vector를 사용하는 경우, 생성자 초기화가 가장 직관적이고 효율적인 방법입니다. 순수 배열의 경우, memset은 0 또는 -1 초기화에만 안전하게 사용하고, 그 외에는 std::fill이나 반복문을 사용하는 것이 좋습니다.