これはヘッダーファイルで宣言され:アクセサーをインライン化する必要がありますか?
class PrimeSieve
{
populate(int lim);
vector<int> sieve;
long long limit;
public:
unsigned int limit();
};
Iは、インライン、.cppファイルまたは.Hにアクセッサメソッドを定義する必要がありますか?
私はC++を使い慣れていませんが、ベストプラクティスに従いたいと思います。私はいくつかの本の中でこれを見てきました - これは標準と見なされていますか?
unsigned int limit() { return limit; };
これはおそらく「合理的に短い関数をインライン化すべきか」と考えられるでしょう。 –
あなたは 'const'、btwがありません。 –
関数をインラインで定義することはできますが、ヘッダーファイル内ではあるがクラス本体の外側に定義することができます。これにより、より読みやすいインターフェースが得られることがあります。あなたのケースでは、クラス宣言を「行外」と同じように保ちますが、その前に 'inline'を付けて関数定義をヘッダーファイルに移動します。 –