C++ explicit 생성자
![[C++] explicit 생성자](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FN6itA%2FbtqzzKWxDxO%2FAAAAAAAAAAAAAAAAAAAAAJN8GEFMHXHMH43wn1QDhlTDkHzDPhApkyfpsCWZr7lp%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dhjgz0EAY0D8I6DfZG700gaK7F2o%253D)
[C++] explicit 생성자
1. explicit 생성자(1) #include 특정 클래스 설계 시 복사 초기화를 사용하지 못하게 하는 것이 좋을 때가 있다. - 이제 아래에서 위의 코드의 문제를 해결해보자. 2. explicit 생성자(2) #include 아무 문제 없이 컴파일 된다. => 생성자가 explicit가 아니다. ② vector => 복사 초기화를 하면 에러가 난다. => 생성자가 explicit이다. => v3는 문제 없이 컴파일 된다. : v2에서 호출되는 생성자와 v3에서 호출되는 생성자는 다른 생성자다. ③ C++ 표준 스마트 포인터 => 복사 초기화를 하면 에러가 난다. => 생성자가 explicit이다.