閱讀585 返回首頁    go 阿裏雲 go 技術社區[雲棲]


C++編程規範之25:正確選擇通過值、(智能)指針、或者引用傳遞參數

摘要:

    正確選擇參數:分清輸入參數、輸出參數,分清值參數和引用參數。正確地傳遞參數。

    正確選擇參數是通過值、通過引用還是通過指針傳遞,是一種能夠最大程度提高安全性和效率的好習慣。

    選擇如何傳遞參數時,應該遵循一下準則。對於隻輸入參數:

    1.始終用const限製所有指向隻輸入參數的指針和應用。

    2.優先通過值來取得原始類型(如char、float)和複製開學比較低的值對象(如point、complex<float>)的輸入。

    3.優先按const的引用取得其他用戶定義類型的輸入;

    4.如果函數需要其參數的副本,則可以通過值傳遞代替

    對於輸出參數或者輸入/輸出參數:

    1.如果參數是可選的(這樣調用者可以傳遞null表示“不適用的”或“無需關心的”值),或者函數需要保存這個指針的副本或者操控參數的所有權,那麼應該優先通過(智能)指針傳遞;

    2.如果參數是必須的,而且函數無需保存指向參數的指針,或者無需操控其所有權,那麼應該優先通過引用傳遞。這表明參數是必須的,而且調用者必須提供有效對象。

最後更新:2017-04-03 12:53:54

  上一篇:go C++編程規範之28:優先使用++和—的標準形式。優先調用前綴形式
  下一篇:go SplishActivity的作用