1. ホーム
  2. c++

[解決済み] C++ Constの使用法説明

2022-12-12 07:44:06

質問

const int* const Method3(const int* const&) const;

どなたか、それぞれのconstの使い方を説明していただけませんか?

どのように解決するのですか?

これを読んでください。 https://isocpp.org/wiki/faq/const-correctness

最後の const は、関数 Method3 はそのクラスの非可変メンバを変更しないことを意味します。

const int* const は、定数intへの定数ポインタ、つまり、変更できないintへの変更できないポインタを意味します。 const int& であることができる点です。 null

const int* const& は、定数intへのポインタの参照を意味します。通常、ポインタは参照渡しされません。 const int* & はより理にかなっています。なぜなら、それはメソッド呼び出し中にポインタが変更される可能性があるということであり、それがポインタを参照渡しする唯一の理由となるからです。 const int* const& はどう考えても const int* const と同じですが、ポインターは古いデータ型(POD)であり、一般的に値で渡されるべきものであるため、おそらく効率的ではありません。