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

时间:2018-04-07 18:46:51

标签: c++

我对C ++很陌生,因为我希望我的代码很好,我有一个小问题,让我说我有一个功能

[
  {
    "id": 1,
    "name": "Instant Coffee",
    "price": 28.53,
    "on_hand_quantity": 27
  },
  {
    "id": 2,
    "name": "Cranberries - Dry",
    "price": 30.02,
    "on_hand_quantity": 29
  }
]

将CClass作为指针传递是否更好,所以它没有被复制?我看到很多代码使用不同的风格,我有点困惑哪个更好,为什么。谢谢你的回答。

1 个答案:

答案 0 :(得分:3)

该功能应写成如下:

class UI {
   ...
   int GetColor(const CClass &c) const {
      if (c.m_Something) {
         return 0;
      } 
      return 1;
   }

}

参考文件避免了不必要的复制; const - 参数表明参数不会被更改; const - 函数声明符声明该函数不会更改this - 对象(即调用它的UI - 实例)。