1
如果我是在堆上聲明一個對象像這樣:在堆上聲明對象,然後通過引用傳遞它?
X* x = new X();
func(?);
void func(X& x);
如何傳遞在x
到func()
以便func()
可接收參考x
(而不是指針)?
如果我是在堆上聲明一個對象像這樣:在堆上聲明對象,然後通過引用傳遞它?
X* x = new X();
func(?);
void func(X& x);
如何傳遞在x
到func()
以便func()
可接收參考x
(而不是指針)?
你必須取消對它的引用,像這樣:func(*x)
去參考指針,並將它傳遞這樣的:
func(*x);
您的功能必須通過X類型的東西的事實,對象是通過通過引用傳遞不會改變你怎麼稱呼它。由於x具有*您需要取消參考座標x,以獲得X類型的東西
爲了說明X型,假設你有
void func1(X& x);
void func2(const X& x);
void func3(X x);
void func4(const X x);
爲你調用的函數以相同的方式每一種情況下。
你想在這裏找到兩個以上的答案嗎?它看起來像你知道如何問,但不知何故忘記了如何接受。我建議您對所有問題進行審覈。 –