2010-04-18 105 views
0

可能重複:
When pass-by-pointer is preferred to pass-by-reference in C++?C++函數的參數驗證(指針與引用參數)

大家好,

你們認爲一個良好的編程習慣:傳遞對象作爲指針或引用函數。
你對輸入驗證做了什麼?

謝謝。

+0

什麼是「地址參數」,如果不是指針? – 2010-04-18 03:26:06

+4

請參閱http://stackoverflow.com/questions/2550377/when-pass-by-pointer-is-preferred-to-pass-by-reference-in-c/2550489#2550489 – Stephen 2010-04-18 03:26:15

+0

另外,我認爲通過「地址參數「你的意思是」參考「? – Stephen 2010-04-18 03:26:52

回答

4

使用引用是更好的C++風格。我相信你暗示的一個優點是,通過引用傳遞時,不再需要驗證它是否爲非null,因爲引用不能爲空。另外,我應該補充說,如果你不修改參數,那麼你應該通過常量引用。 (對於原語或小的非多態對象,如果不修改它,也可以按值傳遞)。

2

可能與參考文獻一起使用,因爲它們更乾淨。用指針,你有一個非常尷尬的語法。

至於驗證,我只是做一個ASSERT。

+0

你的意思是調試斷言或類似提升靜態斷言? – Andrew 2010-04-18 03:45:55

+0

調試斷言。 – 2010-04-18 03:58:28