Hi, people.
Can anybody explain me "multiple 'new' at single line"
behavior. Consider:
p::p(void*);
p::p(void*,void*);
new A( p(new B), p( new C(p(new D), p(new E)) ), p(new F));
Will it be either
1.
new F p(*)
new E p(*)
new D p(*)
new C p(*)
new B p(*)
new A
and
2.
new B p(*)
new D p(*)
new E p(*)
new C p(*)
new F p(*)
new A p(*)
or
3.
new E
new D
new F
new C
new B
p(*)
p(*)
p(*)
p(*)
p(*)
new A
Does C++ guarantee that never can be like upper
case 3 (more than one "new" befor "p(*)").
Do we need to create temp storages:
const p tmp1(new F);
const p tmp2(new E);
const p tmp3(new D);
const p tmp4(new C(tmp3,tmp2));
const p tmp5(new B);
new A(tmp5,tmp4,tmp1);