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

以下经验法则是否有意义:@param[in] 用于 const 指针和引用,@param[in,out] 用于非 const 指针和引用?

是的,但是如果您读取和写入引用对象,那么它是 [in,out]。如果你只是写,那么它是[out]。

于 2012-07-26T20:32:36.337 回答