Q
參考傳遞
0
A
回答
1
我們正在傳遞參考,以便不會製作stack
對象的副本。如果進行了複製,則對其進行修改不會影響傳遞給該函數的原始對象stack
。它只會影響功能本地的副本。
引用就像對象的別名;當宣佈爲
stack<int>& source
source
現在引用該對象。
1
在所提到的問題中所使用的函數具有下列原型:
void Hanoi(int nDisks, stack<int> source, stack<int> intermed, stack<int> dest)
即它需要全部通過stack<int>
對象由值。創建了傳遞stack
的副本,並且在此函數體內對此對象所做的任何更改都會更改副本,而不是傳遞給它的原始對象。
這就是爲什麼解決方案是通過引用傳遞這些stack
對象而不是按值傳遞。基本上引用(如stack<int>& dest
)允許你把dest
的Hanoi
函數內部就像它的類型是stack<int>
,這裏還有沒有複製和變化給調用者:)
相關問題
- 1. 傳遞參考?
- 2. 傳遞參考
- 3. imagebutton傳遞參考
- 4. perl傳遞參考
- 5. swift:傳遞參考
- 6. php傳遞參考
- 7. php參考傳遞
- 8. 作爲參考傳遞控制參考
- 9. 按值傳遞與傳遞參考
- 10. 函數傳遞參考
- 11. 在C++中傳遞參考
- 12. Cython&C++:傳遞參考
- 13. 傳遞值作爲參考
- 14. 類中的傳遞參考
- 15. 數組和參考傳遞
- 16. 傳遞參考活動
- 17. Java遞歸按值傳遞/參考
- 18. 如何通過參考傳遞參數?
- 19. 參考作爲參數傳遞不動
- 20. 返回參考傳遞參數
- 21. 傳遞參數和參考#div
- 22. 傳遞父參考的命令參數
- 23. win32com傳遞參數作爲參考
- 24. C#傳遞參數(值或參考)?
- 25. 傳遞列表參數爲參考
- 26. 輸出參數在C++傳遞參考
- 27. C中傳遞參考參數
- 28. 自動傳遞參數在C參考
- 29. 應該將istream作爲參考還是const參考傳遞?
- 30. 將參考函數作爲通用參考傳遞
可見你是問一提的是什麼?這應該由你的C++書來解釋。 – 2013-03-22 15:53:22
如果你沒有通過引用傳遞,那麼它會創建一個容器的副本,如果你想修改實際的變量,那麼它就不是你想要的。 – 2013-03-22 15:54:11
引用在技術上只是一個指針。閱讀RAII和指針。 – Paranaix 2013-03-22 15:54:12