1. ホーム
  2. c++

[解決済み] ゲッターとセッターをインライン化するのは良い習慣ですか?

2023-05-18 06:06:15

質問

public:
     inline int GetValue() const {
          return m_nValue;
     }
     inline void SetValue(int nNewValue) {
          this -> m_nValue = nNewValue;
     }

について C++を学ぶ を使うと、実行速度が速くなるとのことでした。だから、ゲッターとセッターに使ったらいいんじゃないかと思ったんだ。でも、もしかしたら、欠点もあるのでは?

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

プロファイラーが、インライン化しないことがパフォーマンスの問題を引き起こしていると明確に教えてくれるまでは、何もインライン化しないようにしています。

C++ コンパイラーは非常に賢く、このような単純な関数であれば、ほぼ間違いなく自動的にインライン化してくれます。 また、通常、コンパイラーはあなたよりも賢く、何がインライン化されるべきか、されないべきかを判断するのにはるかに良い仕事をします。

私なら、何をインライン化するか、しないかについて考えるのを避け、解決策に焦点を当てます。 このような場合 inline キーワードを追加することは非常に簡単で、プロファイラーで潜在的な場所をすぐに見つけることができます。