0
A
回答
2
這取自Stroustrup的「The C++ Programming Language」第11章。
讓我們看一下報價在上下文中:
我們定義的
complex
經營者採取complex
類型的參數。這意味着對於每個使用的運算符complex
,每個操作數都被複制。複製兩個doubles
的開銷可能會很明顯,但往往小於一對指針所施加的指針(通過指針訪問會相對昂貴)。不幸的是,並不是所有的類都有一個方便的小代表爲了避免過度複製,可以聲明函數來引用參數。例如:
class Matrix {
double m[4][4];
public:
Matrix();
friend Matrix operator+(const Matrix&, const Matrix&);
friend Matrix operator*(const Matrix&, const Matrix&);
};
所有他要說的是,由於complex
小,它是可以接受通過值而不是通過const
傳遞引用它。但是,這對於較大的類型不可接受,例如上面的Matrix
。對於這種類型,傳遞const
引用是首選方法,因爲它可以避免必須複製整個矩陣。
+0
這很清楚,但爲什麼複製兩個雙打的開銷可能小於一對指針所施加的開銷? – 4pie0
相關問題
- 1. C數組指針加倍
- 2. 複製指針值
- 3. C++複製指針
- 4. strcpy()複製指針?
- 5. 複製和指針
- 6. 複製字符串指針,指針
- 7. 複製的結構指針的指針
- 8. 指針vs指針指針C
- 9. KnockoutJS複製數據開銷
- 10. C#:類指針倍率
- 11. 複製到void *指針
- 12. 複製指針值C++
- 13. 通過指針複製NSMutableDictionary
- 14. 在C++中複製指針
- 15. 複製文件指針?
- 16. 複製 '這個' 指針
- 17. 複製C++ char指針
- 18. C++:複製ctor和指針
- 19. 指針vs auto_ptr vs shared_ptr
- 20. 字符指針vs數組指針
- 21. 基類指針vs繼承類指針?
- 22. 字符指針VS INT指針
- 23. 常量指針vs常量值指針
- 24. 指針vs零初始化指針
- 25. 指針VS參考
- 26. C++複製指針指向的數據
- 27. 通/複製指向另一個指針
- 28. 使用OpenCV複製時指定指針
- 29. 將指針指向的數據複製到另一個指針
- 30. 複製控制在字符串指針
請添加相關的上下文,那個人在說什麼? – Mat