指定引用的指针

时间:2011-07-25 15:27:07

标签: c++

我正在使用一个具有绘图功能的库,它引用了一个圆圈。我希望调用此函数,但我有一个指向我的圆形对象的指针。我可以将这个指向对象传递给绘制函数吗?如果没有,为什么不呢?

谢谢,

巴里

4 个答案:

答案 0 :(得分:13)

是的,你可以。

你有这个功能

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

你有这个指针

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

你这样称呼它

DoSth(*p);

我建议您阅读a good C++ book。这是非常基本的东西。

答案 1 :(得分:4)

如果您提供一些问题代码会更容易。但基本上它会像这样工作:

void func(Circle& circle) {
    // do something
}

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

答案 2 :(得分:3)

只要在引用仍在使用时指针没有被销毁,它就可以了。

int *p = new int;
int &r = *p;

答案 3 :(得分:3)

是的,你可以,只需取消引用指针,例如:

void functionToCall(Circle &circle);

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