09/05/29 18:00:45
>>23
test(A()); のことを言ってる?
{ A tmp; test(tmp); }
と等価だから全然問題ないぞ。
別件で
class A {
int* p;
public:
A() : p(new int) {}
~A() { delete p; }
int* get() const { return p; }
};
int* test(A& a) { return a.get(); }
----
int* ptr;
ptr = test(A());
は問題が発生するけど
Aの一時オブジェクトのデストラクタが呼ばれた後に ptr を使おうとするから