6
A
回答
10
通過較短的引用將長表達式替換爲對象並使其更具可讀性很有用。例如:
const int &SphereRadius = Configuration::getInstance()->sphere->radius;
只要配置同時發生變化(例如在另一個線程中),就會更新您的引用。
您顯示的代碼只是一個更簡單的工具的可能性。你在許多情況下的例子是沒有意義的,因爲你以前就明白過。這些引用的主要目標是混淆一個對象。
通過引用一個函數來傳遞對象,並且能夠在不混淆指針的情況下修改引用對象。
在基於範圍的循環中使用它們來修改容器中的迭代項目。
在某些情況下用簡單的縮短表達式。和更多... 。
5
您不能綁定一個非const引用到右值,即不能「是指」到不能出現的東西在賦值運算符的左側(如臨時對象)。主要原因是當temp被破壞時,最終會出現懸掛引用,而C++不允許這樣做。你的代碼不會編譯。
滑稽但是,你可以一個臨時綁定到const引用,這將延長臨時的一生,即
const Foo& ref = Foo(); // creates a temporary Foo, destructor is not invoked now
但是暫時不被破壞。請參閱Does a const reference prolong the life of a temporary? 但是,我不會在我的代碼中使用它,它只是我們大多數人的混淆之源。
相關問題
- 1. C++獨立參考 - 用於什麼?
- 2. 什麼是在C獨立結腸++
- 3. 什麼是獨立應用程序或獨立服務器?
- 4. 什麼是獨立應用程序?
- 5. 「獨立」是什麼意思?
- 6. 什麼是獨立功能?
- 7. 什麼是'〜'用於C++?
- 8. C++,什麼是:=用於?
- 9. 什麼是C#獨佔或`^`用法?
- 10. 爲什麼獨立應用程序?
- 11. 是否可以獨立於BizTalk Server使用BizTalk規則引擎?
- 12. 什麼是獨立的Java解析器?
- 13. 什麼是獨立工具鏈?
- 14. 爲什麼ERB獨立渲染不能用於實例變量
- 15. 什麼IDE用於獨立的Javascript調試?
- 16. 用於AJAX的獨立庫
- 17. 什麼是獨立於平臺的訪問SBO的方式?
- 18. C++獨立應用程序
- 19. 什麼是基於堆棧的引用?
- 20. C++:Boost cpp_dec_float是否獨立?
- 21. 如果SOAP是HTTP獨立的,而REST是基於HTTP的,那麼爲什麼?
- 22. 什麼是獨立Maven中的用戶設置等效項?
- 23. 爲什麼不總是使用fpic(位置獨立代碼)?
- 24. 什麼是C中的前向引用?
- 25. 用於基準測試JavaScript引擎的最佳獨立測試套件是什麼?
- 26. 獨立於Yesod
- 27. 什麼是堆棧用於?他們爲什麼使用C++?
- 28. 用於C#語言的'this'是什麼?
- 29. 什麼是C++解釋器用於?
- 30. 使用C/C++加密數據塊,獨立於平臺