~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
virtual void put(key_type key, value_type val) { // B地点



}

virtual cp::ft<value_type> get(key_type key) {  // A地点



 /*keyに対応するvalが取得される*/
 
return 0; //取得したkeyとvalをputの引数として代入するためputへ移動したい。

}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
基本的な事かもしれませんが教えてください。
C++で上記内容のソースを作っています。

A地点でgetを行う際、
上記内容ですと、
returnの部分に差し掛かると、
再度、getの先頭に戻りますが、

「get」の一番最後でreturnまできたとき、
「get」の先頭(A地点)ではなく、
その更に1つ上の「put(B地点)」に戻って、

移動したその際に、
getオブジェクトで取得済みのkeyとvalをputで挿入するには、
どうreturnを記述すればいいでしょうか?
宜しくお願い致します。

このQ&Aに関連する最新のQ&A

CP 値」に関するQ&A: Cp値

A 回答 (2件)

まず、get() が、その値として、value を


返すのであれば、

virtual cp::ft<value_type> get(key_type key) {


 /*keyに対応するvalが取得される*/
 
return value; // value を関数の値として返す

}
になりまね。

この結果を put() するのであれば、put() を
呼び出すべきところで、

put(key, get(key));

と記述することになります。

return は、関数の値を返す(or 値がない場合
は、単に、関数の処理を終了する)もので、関
数の先頭に帰ることはありません。
呼び出し側で繰り返し呼び出しているのでない
限りは。
    • good
    • 0
この回答へのお礼

ポイント付与が遅れてしまいましたが、
ありがとうございました!

いただいたアドバイスをもとに、
理解し、問題の解決をすることができました。
ありがとうございました!

お礼日時:2009/05/19 11:16

こんにちは。

こう言う事でしょうか?

virtual cp::ft<value_type> get(key_type key) {  // A地点



 /*keyに対応するvalが取得される*/

 this->put(key, value);//取得したkeyとvalをputの引数として代入するためputへ移動したい。

 return cp::ft<value_type>(value_type(key, value));
}
    • good
    • 0
この回答へのお礼

別の角度から、問題を解決しましたが、
とても参考になりましたです。
ありがとうございました!

お礼日時:2009/05/19 11:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報