C의 생성자 위임
C에서는 하나의 생성자를 다른 생성자에 위임하여 여러 생성자에서 초기화 코드를 재사용할 수 있습니다. . 이렇게 하면 코드가 단순화되고 반복이 줄어듭니다.
생성자 위임을 수행하는 한 가지 방법은 제공한 두 번째 예에 표시된 것처럼 생성자의 초기화 목록을 사용하는 것입니다.
Bitmap::Bitmap(WORD ResourceID) : Bitmap((HBITMAP)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(ResourceID), IMAGE_BITMAP, 0, 0, LR_SHARED)) { }
이 예에서는 Bitmap(WORD ResourceID)의 생성자는 Bitmap(HBITMAP)에 위임하여 로드된 이미지를 위임된 생성자에 대한 인수로 전달합니다. 이 구문은 Bitmap(WORD ResourceID) 생성자가 임시 변수를 생성하거나 불필요한 중복 초기화를 수행하지 않도록 보장합니다.
첫 번째 예에서 질문한 대체 접근 방식은 실제로 임시 Bitmap 객체를 생성한 다음 Bitmap(WORD ResourceID)에 전달된 HBITMAP을 사용하여 해당 개체의 생성자를 호출합니다. 이는 경우에 따라 작동할 수 있지만 생성자를 위임하는 가장 효율적이거나 올바른 방법은 아닙니다.
따라서 두 번째 코드 스니펫에 설명된 대로 생성자 위임을 위해 생성자의 초기화 목록을 사용하는 것이 좋습니다. 제공됩니다. 이는 생성되는 객체의 효율적이고 적절한 초기화를 보장합니다. G 4.7.2 이상 버전에서는 이 기능을 지원해야 합니다.
위 내용은 C에서 생성자 위임을 어떻게 효율적으로 구현할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!