2011-07-25 60 views
4

我正在使用具有繪製功能的庫,它需要引用一個圓。我希望調用這個函數,但我有一個指向我的圓形對象的指針。我可以將這個指向的對象傳遞給draw函數嗎?如果不是,爲什麼不呢?分配指向參考的指針

感謝,

巴里

回答

14

當然可以。

你有這樣的功能

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

你有這樣的指針

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

你這樣稱呼它

DoSth(*p); 

我建議你應該閱讀a good C++ book。這是非常基本的東西。

3

只要指針在引用仍在使用時不被破壞,就沒有問題。

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

當然可以,只是解引用指針,例如:

void functionToCall(Circle &circle); 

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

這將是更容易,如果你提供你的問題的一些代碼。但基本上它會這樣工作:

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

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