【初心者歓迎】C/C++室 Ver.66【環境依存OK】at TECH【初心者歓迎】C/C++室 Ver.66【環境依存OK】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト50:デフォルトの名無しさん 09/05/31 12:34:34 std::vector<T>の最後尾の要素を移動したいとき、 std::vector<T> vec; T tmp = vec.back(); vec.pop_back(); という感じで、二段階でやるしかないでしょうか? 51:デフォルトの名無しさん 09/05/31 13:57:17 C++の参照渡しについての質問です。 以下のようなメンバ関数があったとします。 SStruct GetReturnStruct() const; INT32 GetReturnINT() const; これらの関数を以下のように使用します。 1. SStruct sStruct = GetReturnStruct(); 2. INT32 nINT = GetReturnINT(); 3. SStruct& sTestStruct = GetReturnStruct(); 4. INT32& nTestINT = GetReturnINT(); 5. const SStruct& c_nTestStruct = GetReturnStruct(); 6. const INT32& c_nTestINT = GetReturnINT(); 実行環境はVisualStudio2005です。 1と2は普通にコンパイルして実行できるのですが、 3と4の場合、3はコンパイルが通り、4はエラーメッセージ 「'INT32' から 'INT32 &' に変換できません。」 が出てしまいました。 また、5と6ではコンパイルが通りました。 1から6までは内容的には同じ値が入ると思うのですが、 内部的な処理はそれぞれどのようになされているのでしょうか? 構造体などを使うときはなるべく参照かポインタを引数にしたほうがよい と聞いたのですが、参照の使い方がまだ今ひとつ理解できていません。 どのような場合に参照渡しをしたほうがよいのでしょうか? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch