2012-07-26 42 views
0

請考慮下面的例子:的Doxygen的PARAM [出],參考文獻和構造

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的呢?

+1

就個人而言,我會說,最好避免這種設計,儘可能避免將參考放入類中。首選一個智能指針,以便您可以決定如何處理所有權。 – 2012-07-26 20:31:39

回答

1

該文檔適合您和您的班級讀者,因此它應該提供最清楚發生了什麼的信息。該對象似乎被設計爲寫入參考。因此將其標記爲out參數並非不合理。如果它準確傳達了參考參數的預期用途,那麼您應該如此使用它。

0

以下經驗法則是否合理:@param [in]是否爲const指針和引用,@param [in,out]爲非const指針?

是的,但是如果你讀寫參考對象,那麼它是[in,out]。如果你只是寫,那就是[out]。