std::shared_ptr
C 표준 라이브러리에는 소멸자에서 delete[]를 올바르게 호출하는 배열에 대한 std::unique_ptr의 특수화가 포함되어 있습니다. 그러나 std::shared_ptr에는 비슷한 전문화가 없습니다. 이 동작을 수행하려면 사용자가 명시적으로 delete[]를 호출하는 삭제기를 수동으로 제공해야 합니다.
이 누락은 실수인가요, 아니면 의도적인가요?
부재 이유
C 라이브러리 워킹 그룹(LWG)은 다음과 같은 가능성을 고려했습니다. std::shared_ptr
구체적으로 std::shared_ptr
최근 개발
비공식적으로 이 주제는 다시 한 번 업계 내에서 관심을 끌었습니다. LWG 및 프로토타입이 개발되었습니다. 이 기능이 귀중한 도구가 될 가능성이 있지만 표준에 포함될지는 여전히 불확실합니다.
현재 상태
C 11 기준으로 std:: shared_ptr
업데이트(2017)
C 17 표준에는 지원이 포함됩니다. std::shared_ptr 배열의 경우(케이스 3 shared_ptr::shared_ptr()).
위 내용은 C에는 왜 std::shared_ptr 전문화가 없나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!