C++ 比较时,将类作为指针传递或正常传递
C++ When comparing, pass class as pointer or normally?
我对C++很陌生,因为我希望我的代码很好,所以我有一个小问题,假设我有一个函数
UI::GetColor(CClass Class)
{
if (Class.m_Something)
return 0;
return 1;
}
是否最好将 CClass 作为指针传递,这样它就不会被复制?我看到很多代码使用不同的风格,我有点困惑哪一个更好,为什么。感谢您的回答。
该函数应编写如下:
class UI {
...
int GetColor(const CClass &c) const {
if (c.m_Something) {
return 0;
}
return 1;
}
}
引用避免了不必要的复制;const
-参数声明参数不会更改;const
-函数声明符声明函数不会更改this
-对象(即调用它的UI
实例(。
相关文章:
- 为什么或在什么情况下,你会将参数作为C++中的引用(或指针)传递给函数?
- 如何将共享指针列表传递到pybind11中的c++对象
- 将指向模板类对象的指针正确传递给函数
- 将指向成员的指针函数传递到模板中
- 函数指针和传递指针之间的区别
- C++ 将指针地址传递给函数
- 是否可以通过引用将迭代器从指针向量传递到另一个函数?
- 在descructor指针中传递的交易
- 将指针参数传递给双指针参数
- 无法将"常量指针常量"传递给常量引用
- 如何将函数指针从 C# 传递到C++ Dll
- 在需要非成员函数指针时传递成员函数指针
- 将typedef方法作为指针函数传递
- 将(部分)模板化的模板函数作为std::function(或函数指针)传递
- 使用通过引用(通过指针)传递的参数优化 OpenCL 函数中的指针访问
- 在函数指针中传递给其他线程的对象 - 如何处理它
- 通过使用指针引用传递数组的混淆
- 将通用指针类传递给函数
- 链表头指针在传递给函数c++时发生变化
- 将指针'this'传递为 LPARAM