gpt4 book ai didi

c++ - C++ 中 "::delete"的用途是什么?

转载 作者:可可西里 更新时间:2023-11-01 16:56:49 25 4
gpt4 key购买 nike

我目前正在查看使用 ::delete 删除指针的 C++ 代码。

一个无意义的例子是:

void DoWork(ExampleClass* ptr)
{
::delete ptr;
}

这样使用delete关键字的目的是什么?

最佳答案

在某些情况下,operator delete可能会被重新定义——实际上是重载了——(例如,您的 Class 可能会定义它并定义 operator new)。通过编码 ::delete 你说你正在使用标准,“预定义”,deletion运营商。

在某些 Class 中重新定义 operator newoperator delete 的典型用例:您想保留一个隐藏的全局集合由你的 Class::operator new 创建并由你的 Class::operator delete 删除的指针。但是您的 delete 的实现将在调用全局 ::delete

之前从全局集合中删除该指针

关于c++ - C++ 中 "::delete"的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51933839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com