【发布时间】:2018-06-18 05:17:28
【问题描述】:
请看下面的代码:
unsigned char* p = new unsigned char[x];
CLASS* t = new (p) CLASS;
assert((void*)t == (void*)p);
我可以假设(void*)t == (void*)p吗?
【问题讨论】:
-
AFAIK 是,如果
T不是数组。 -
C++规范中有定义保证吗?
-
不同的是,在你的链接中,它比较了2个类实例指针,在这篇文章中,它想比较原始缓冲区地址和新放置类实例指针地址。
-
我记得对象的普通放置新函数被定义为只返回参数指针。
标签: c++ c++11 language-lawyer placement-new