ホームページ  >  に質問  >  本文

C++ では、(reference) を使用して STL コンテナ内の値アドレスを取得できますが、その値を変更することはできません。

リーリー

ご協力ありがとうございます。

習慣沉默習慣沉默2737日前692

全員に返信(3)返信します

  • 仅有的幸福

    仅有的幸福2017-05-16 13:30:05

    参照について間違った理解があります
    getTestData(testMap, 1, tempData1);
    このステートメントは、tempData1 を testMap[1] への参照にするわけではありません。この関数は、関数内のデータに対するすべての操作を tempDada1 に反映させるだけです。 , したがって、data は tempData1 への参照になります。また、tempdata1 は testMap 内の要素をまったく参照しないため、tempdata1 を変更しても効果はありません。

    返事
    0
  • 某草草

    某草草2017-05-16 13:30:05

    getTestData 関数では、代入ステートメント data=it-

    解決策は、コピー コンストラクターをオーバーライドして、元のオブジェクトを返すようにすることです。ポインタを使用する方法もあります。

    返事
    0
  • PHP中文网

    PHP中文网2017-05-16 13:30:05

    getTestData を setTestData に変更し、データを使用して値を割り当てます -> 2 番目

    返事
    0
  • キャンセル返事