2011-07-25 21 views
4

私は円を参照する描画機能を持つライブラリを使用しています。私はこの関数を呼び出したいが、私は円オブジェクトへのポインタを持っている。これをオブジェクトに描画関数に渡すことはできますか?そうでない場合は、どうしてですか?参照へのポインタの割り当て

おかげで、

バリー

答えて

14

はいすることができます。

あなたはあなたが私はあなたがa good C++ bookを読むべきことを示唆している。この

DoSth(*p); 

のようにそれを呼び出し、このポインタ

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

を持って、この関数に

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

を持っています。これは本当に基本的なものです。

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); 
関連する問題