C++相談室 part85
■ このスレッドは過去ログ倉庫に格納されています
0118デフォルトの名無しさん
2010/10/13(水) 00:56:49参照型変数の寿命に関連してお伺いします。
紙面の都合上かなり省いていますが、下記コードでのretの使い方は正しいでしょうか?
(分かりづらいようでしたら、どこかに張ります)
まず、foo()は変更できない関数です。
処理としては、クラスXXXのメンバ変数のconst参照を返しています。
この参照をそのまま取得したいのですが、cがNULLの時はfoo()を呼べないので、
ifブロック外のポインタretに代入するようにしました。
動くことは動くのですが、ifブロックを抜ける時にRetが消えるような
気がしてなりません。よろしくお願いします。
XXX *c = yyy.GetPointer();
const vector<int> *ret = NULL;
if (c != NULL) {
const vector<int>& Ret = c->foo();
ret = &Ret;
}
:
if (c != NULL) {
std::for_each(ret->begin(), ret->end(), print);
}
■ このスレッドは過去ログ倉庫に格納されています