什么是展示位置和非展示位置分配/解除分配功能?我一直在读秒。 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;
我理解正确吗?
答案 0 :(得分:-1)
展示位置new的定义位于N3797
部分的5.3.4.13
中:
new-placement语法用于向其提供其他参数 分配功能。如果使用,则在a上执行重载分辨率 通过汇编由...组成的参数列表创建的函数调用 请求的空间量(第一个参数)和表达式 new-expression的新位置部分(第二个和第二个) 接下来的论点)。这些参数中的第一个具有类型 std :: size_t和其余参数具有相应的类型 新位置中的表达式。