C++相談室 part43
■ このスレッドは過去ログ倉庫に格納されています
0487デフォルトの名無しさん
2005/09/12(月) 17:00:13ちと理解できたか自信ないので質問です。
こんなクラスと関数があったとして…
struct A {};
struct X {
const A* p;
X(const A& a) : p(&a) {}
};
X xget(const A& a) { return X(a); }
void xtest(const X& x) {
// ここで *(x.p) を使うとします
}
以下のようになるという理解であってますか?
これはok
xtest(xget(A()));
これもok
const A& a = A(); xtest(xget(a));
これもok
const A& a = A(); const X& x = xget(a); xtest(x);
これはダメ!
const X& x = xget(A()); xtest(x);
■ このスレッドは過去ログ倉庫に格納されています