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