在将它们作为const引用C ++传递时构建对象

时间:2017-02-03 14:14:27

标签: c++ constructor reference const

我可以在方法调用中构建参数const引用吗? 我知道它会编译,但我不完全确信它在运行时是正确的。

我有以下课程:

display

1 个答案:

答案 0 :(得分:2)

概念很好......临时B将被构建并通过引用传递。不要在A中存储该引用,也不要在doThings范围之外的任何地方使用。

但你的代码并不好。在这里,我为你修好了:

class B;

class A {
public:
  void doThings(const B& b) {}
};

class B {
public:
  B(int i, int j) {}
};


int main() {

  A a;

  a.doThings(B(1, 2));   //Is this OK?

}