Copy Initialization
int a = 123;
Direct Initialization
int a(123);
Unifrom Initialization
int b {123};
direct와 unifrom 초기화는 사용자 정의 데이터 타입을 초기화 할 때 많이 사용한다. 최근에는 uniform 초기화를 권장한다는 소리가 있다. 이는 uniform 초기화 방식이 더 엄격하기 때문이다.
예를 들어, Direct 초기화 방식을 사용하면,
#include <iostream>
using namespace std;
int main()
{
int a(3.14);
return 0;
}

에러가 아닌 warning 메시지만 띄운다. 출력 또한 3으로 잘된다. 이는 Copy 초기화 방식도 동일하다.
하지만, unifrom으로 초기화 시 컴파일 타임에 잡을 수 있으므로 안전하다.
#include <iostream>
using namespace std;
int main()
{
int a{ 3.14 };
cout << a;
return 0;
}

'C,C++ > 홍정모의 따배C++' 카테고리의 다른 글
| [C++] 전역 변수, 내부 연결, 외부 연결, 헤더 include 주의점 (0) | 2025.12.20 |
|---|---|
| [C++] 함수 내의 static 변수 선언 (0) | 2025.11.30 |
| [C++] 전처리기, 매크로 (0) | 2025.09.21 |
| [C++] 네임스페이스 (0) | 2025.09.13 |
| [C++] 전방 선언과 헤더 파일에 대한 고찰 (0) | 2025.09.10 |