类型擦除和 std::shared_ptr
使用 std::shared_ptr 类时,通常会观察到它std::shared_ptr
类型擦除和析构函数调用
std::shared_ptr 通过内部存储来利用类型擦除当指针被销毁时调用的删除器函数。该函数负责释放共享指针指向的内存。重要的是,删除器函数是特定于类型的,这意味着它知道如何销毁特定类型的对象。
std::shared_ptr
转换 std::shared_ptr
析构函数调用的后果
当 std: :shared_ptr 标准保证的行为 虽然 std::shared_ptr 在这方面的当前行为没有明确说明C 标准,它被广泛认为是最常见编译器使用的类型擦除实现的副作用。但是,未来对 std::shared_ptr 内部实现的更改可能会破坏依赖此行为的代码。因此,不建议依赖 std::shared_ptr
以上是尽管类型擦除,“std::shared_ptr”如何保持析构函数功能?的详细内容。更多信息请关注PHP中文网其他相关文章!