std::shared_ptr
C 표준 라이브러리에는 std에 대한 특수 템플릿이 포함되어 있습니다. :unique_ptr은 소멸자에서 delete[]를 적절하게 호출합니다. 그러나 std::shared_ptr에는 유사한 전문화가 없으므로 배열을 올바르게 할당 해제하려면 사용자 정의 삭제기를 사용해야 합니다.
전문성이 부족한 이유
처음에는 , std::shared_ptr
결국 std::shared_ptr
현황
전문 템플릿이 없음에도 불구하고 C 17은 부분 배열 지원을 도입했습니다. shared_ptr::shared_ptr() 메서드의 세 번째 사례에 지정된 대로 shared_ptr의 경우. 이 업데이트를 사용하면 전용 전문화의 편리함이 없더라도 shared_ptr을 사용하여 배열을 생성하고 삭제할 수 있습니다.
향후 전망
초안 TS(기술 사양) N4077 shared_ptr에서 배열 지원을 향한 잠재적인 경로를 설명했으며 이 기능은 결국 C 17에 통합되었습니다. C의 지속적인 개발로 이 영역이 더욱 향상되어 공유 포인터를 사용한 배열 관리에 추가적인 유연성과 표현력을 제공할 수 있습니다.
위 내용은 `std::shared_ptr`에 배열 유형에 대한 전문화가 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!