3

我遇到了一个代码,其中范围解析运算符放在new之前。我们什么时候使用它。它的含义是什么。请问有人可以解释吗?

4

1 回答 1

4

::new是显式全局运算符。new这与可以定义的各种类范围运算符相反。例如,如果我定义了一个operator newinside myclass,然后在同一个类中我想使用全局类,我会说::new,而如果我说new我会得到我定义的特定于类的函数。

我也可能::new在通用模板代码中使用我不确定我可能分配的类型,但要确保我不使用任何特定于类的分配器(例如,我可能需要将结果传递给将使用的某些 API全球::delete就可以了)。

以下是所有可能的运算符的大列表以new供参考:http ://en.cppreference.com/w/cpp/memory/new/operator_new

于 2017-05-25T11:03:40.460 回答