C 11 표준 라이브러리에는 std::make_unique 함수 템플릿이 부족하여 개발자가 자세한 코드를 작성하여 고유 포인터. 다음 예를 고려하십시오.
std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3));
이러한 장황함을 완화하기 위해 일부 개발자는 make_unique 함수를 제안했습니다.
auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3);
이 구문은 new 연산자를 숨기고 유형을 한 번만 언급합니다.
그러나 이러한 기능을 구현하려면 완벽한 전달의 복잡성을 이해해야 합니다. 특히 std::forward 표현식:
std::forward<Args>(args)...
은 다음 작업을 포함합니다.
요약하면, std::forward<Args>(args)... 생성자로 인수를 완벽하게 전달할 수 있습니다.
위 내용은 복잡함에도 불구하고 `std::make_unique`가 C에 추가된 귀중한 기능인 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!