重载全局展示位置新增?

时间:2016-03-12 12:36:45

标签: c++ c++11 g++ operator-overloading placement-new

我读了其他帖子(一个例子:How could I sensibly overload placement operator new?),C ++标准不允许重载全局展示位置。

GCC确实在我定义时抛出错误:

void* operator new(size_t sz, void*) {
    std::cout << __PRETTY_FUNCTION__ << std::endl;
}

但是,GCC允许我定义:

template <class T>
void* operator new(size_t sz, T t) {
    std::cout << __PRETTY_FUNCTION__ << std::endl;
}

我尝试使用placement new,上面的函数模板确实可以调用。

它与更换贴纸新品有什么不同? C ++标准禁止重载全局展示位置的理由是什么?

0 个答案:

没有答案