실제로이 관용구를 정의하는 방법을 모르겠습니다. 내가 예상생성자의 바로 가기
ClassWithAMessage c = "This is the message";
읽을 : 일부 코드에서
내가 좋아하는 빨간색 무언가가 누군가가 몇 가지 정보를 제공 할 수ClassWithAMessage c("This is the message");
나는이 문제를 재현하는 방법을 모르는 또는 장난감 예?
실제로이 관용구를 정의하는 방법을 모르겠습니다. 내가 예상생성자의 바로 가기
ClassWithAMessage c = "This is the message";
읽을 : 일부 코드에서
내가 좋아하는 빨간색 무언가가 누군가가 몇 가지 정보를 제공 할 수ClassWithAMessage c("This is the message");
나는이 문제를 재현하는 방법을 모르는 또는 장난감 예?
ClassWithAMessage c = "This is the message";
는 복사 초기화입니다. 이 작업을 수행하려면 복사 생성자를 사용할 수 있어야합니다. 먼저 "This is the message"
의 변환 생성자를 사용하여 임시 ClassWithAMessage
이 생성됩니다. 임시는 복사 생성자와 함께 사용되어 c
을 구성합니다. 이것은 elion을 복사해야합니다 (임시 직원이 없을 수도 있습니다).
ClassWithAMessage c("This is the message");
는 직접 초기화입니다. 변환 생성자는 직접 사용됩니다.
실제로 관용구가 아니라 단지 개체를 구성하는 다른 방법입니다.
C++ 11에서는 이동 생성자가 사용 가능한 경우 첫 번째 명령문의 복사 생성자 대신 사용됩니다. – xception
참조 http://stackoverflow.com/questions/1051379/is-there-a-difference-in-c-between-copy-initialization-and-direct-initializati – hmjd