這更像一個倫理問題:引用參數
如果我有以下代碼:
void changeInt(int& value)
{
value = 7;
}
和我做的:
int number = 3;
changeInt(number);
數量將有值7
我知道當爲changeInt函數創建新的堆棧幀時,將創建新的變量d &值將指向數字。
我在這裏擔心的是,如果調用者沒有注意,可能會被認爲正在傳遞值的模糊,實際上,在函數框架上,會創建一個引用。
我知道他能看在頭文件,它是一個完美的合法的表達,但我仍然覺得它不道德有點:)
我認爲這應該得到某種標記和語法執行。就像在C#中,你有ref關鍵字。
你們認爲什麼?
爲了更清楚地傳遞指針而不是指針。然後調用者需要傳遞'&number'。 – Kevin
@jt_reed調用者應該得到一個編輯器或一個向他顯示函數簽名的IDE。甚至可以記住沒有引用的參數類型,並將函數名稱中嵌入參數類型,例如'changeInt'有點笨拙。 – LogicStuff
記錄文檔的作者和/或閱讀文檔的程序員沒有錯,對吧? – PaulMcKenzie