相关疑难解决方法(0)

使用placement new创建的对象是否具有动态存储持续时间?

(5.3.4)

新的表达式:

  • :: opt_ new new-placement_ opt new-type-id new-initializeropt

  • :: opt_ new new-placement_ opt(type-id)new-initializeropt

由new-expression创建实体具有动态存储持续时间 (3.7.4).[注意:此类实体的生命周期不一定限于创建它的范围. - 结束说明]

我认为以下有1个主要对象(local_object)具有自动存储持续时间,3个虚拟类具有动态存储持续时间.

struct dummy
{
    int a;
};

char local_object[256];
dummy * a = new(&local_object) dummy;
dummy * b = new(&local_object +100) dummy;
dummy * c = new(&local_object +200) dummy;
Run Code Online (Sandbox Code Playgroud)

用户@MM认为只有一个对象(local_object),其余的只是指针.它是否正确?

(3.7)

动态存储持续时间是与创建对象相关联的operator new

c++ language-lawyer

9
推荐指数
1
解决办法
210
查看次数

标签 统计

c++ ×1

language-lawyer ×1