展示位置和非展示位置分配器

时间:2014-07-24 13:23:20

标签: c++ language-lawyer placement

什么是展示位置和非展示位置分配/解除分配功能?我一直在读秒。 3.7.3.2 N3797并遇到展示位置非展示位置 分配 / 取消分配功能概念。例如:

  

通常只使用一个参数进行全局运算符删除   (非展示位置)解除分配功能。

我找不到这些概念的定义,我认为非展示位置是具有以下签名之一的函数:

void* operator new(std::size_t);
void* operator new[](std::size_t);
void operator delete(void*);
void operator delete[](void*);
void operator delete(void*, std::size_t) noexcept;
void operator delete[](void*, std::size_t) noexcept;

我理解正确吗?

1 个答案:

答案 0 :(得分:-1)

展示位置new的定义位于N3797部分的5.3.4.13中:

  

new-placement语法用于向其提供其他参数   分配功能。如果使用,则在a上执行重载分辨率   通过汇编由...组成的参数列表创建的函数调用   请求的空间量(第一个参数)和表达式   new-expression的新位置部分(第二个和第二个)   接下来的论点)。这些参数中的第一个具有类型   std :: size_t和其余参数具有相应的类型   新位置中的表达式。

相关问题