将指针分配给引用

8
我正在使用一个库,它有一个绘制函数,该函数需要引用一个圆形对象。我想调用这个函数,但是我只有一个指向我的圆形对象的指针。我可以将这个指针传递给绘制函数吗?如果不行,为什么?
谢谢, Barry
4个回答

15

是的,你可以。

你有这个函数:

void DoSth(/*const*/Circle& c)
{
   ///
}

你有这个指针

/*const*/ Circle* p = /*...*/;

你可以这样调用它

DoSth(*p);

我建议你应该阅读一本好的C++书籍。这非常基础。


6
只要在引用仍在使用时不销毁指针,就没问题。
int *p = new int;
int &r = *p;

5
是的,你可以,只需要取消引用指针,例如:
void functionToCall(Circle &circle);

//in your code:
Circle *circle = new Circle();
functionToCall(*circle);

5
如果您能提供一些代码,那么这将会更加容易。但基本上它应该像这样工作:
void func(Circle& circle) {
    // do something
}

...
Circle *pCircle = new Circle();
func(*pCircle);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接