以下代码有什么作用?我猜它会实例化一个MyObjects数组,但我不知道?
new (p) [[MyObject]]
答案 0 :(得分:6)
这段代码肯定不是一个完整的陈述。我可以想象[[MyObject]]
部分是一个用户定义属性,适用于表达式的这一部分之后的任何内容。例如,以下代码编译:
#include <new>
int main()
{
void* p = operator new(sizeof(int));
new(p) [[MyObject]] int(17);
}
[[MyObject]]
部分正在使用用户定义的属性,这可能毫无意义,我实际上不知道如何使用它(我应该在某个时候看看这个......)。用户定义属性被引入C ++ 11。有关标准见见7.6 [dcl.attr]。