0

次の例を検討してください。

class Example
{
    int &_m;

public:
    /**
     * An example constructor.
     *
     * @param myint Reference to some int.
     */
    Example(int& myint)
        : _m(myint)
    {
    }

    void change()
    {
        _m = 5;
    }
};

myintパラメータをマークする必要があります@param[out]か?コンストラクター自体はそれを出力引数として使用しませんが、クラスに格納され、change()メソッドによって変更できます。

次の経験則は意味がありますか:ポインターと参照の場合、非ポインターの@param[in]場合?const@param[in,out]const

4

2 に答える 2

1

ドキュメントはあなたとあなたのクラスの読者のためのものなので、何が起こっているのかを最も明確にする情報を提供する必要があります。オブジェクトは、参照に書き込むように設計されているようです。したがって、それをパラメータとしてマークすることoutは不合理ではありません。参照パラメーターの使用目的を正確に伝えている場合は、そのように使用する必要があります。

于 2012-07-26T20:30:34.533 に答える
0

次の経験則は理にかなっていますか? const ポインターと参照には @param[in]、非 const ポインターと参照には @param[in,out] を使用しますか?

はい。ただし、参照オブジェクトを読み書きする場合は [in,out] です。書くだけなら【アウト】です。

于 2012-07-26T20:32:36.337 に答える