C++ 比较时,将类作为指针传递或正常传递

C++ When comparing, pass class as pointer or normally?

本文关键字:指针 常传递 比较 C++      更新时间:2023-10-16

我对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实例(。