如何在C ++中转换/转换指向引用

时间:2012-04-16 10:52:04

标签: c++ pointers casting reference type-conversion

如何将指针(Object *ob)传递给原型为void foo(Object &)的函数?

3 个答案:

答案 0 :(得分:171)

这样称呼:

foo(*ob);

请注意,此处没有正在进行的转换,如问题标题中所示。我们所做的只是取消引用指向对象的指针,然后我们将其传递给函数。

答案 1 :(得分:37)

foo(*ob);

你不需要抛出它,因为它是相同的Object类型,你只需要取消引用它。

答案 2 :(得分:-2)

将指针转换为对象的完整示例

Online demo

class myClass
{
  public:
  void sayHello ()
  {
    cout << "Hello";
  }
};

int main ()
{
  myClass* myPointer;
  myClass myObject = myClass(* myPointer); // Cast pointer to object
  myObject.sayHello();

  return 0;
}