私は円を参照する描画機能を持つライブラリを使用しています。私はこの関数を呼び出したいが、私は円オブジェクトへのポインタを持っている。これをオブジェクトに描画関数に渡すことはできますか?そうでない場合は、どうしてですか?参照へのポインタの割り当て
おかげで、
バリー
私は円を参照する描画機能を持つライブラリを使用しています。私はこの関数を呼び出したいが、私は円オブジェクトへのポインタを持っている。これをオブジェクトに描画関数に渡すことはできますか?そうでない場合は、どうしてですか?参照へのポインタの割り当て
おかげで、
バリー
はいすることができます。
あなたはあなたが私はあなたがa good C++ bookを読むべきことを示唆している。この
DoSth(*p);
のようにそれを呼び出し、このポインタ
/*const*/ Circle* p = /*...*/;
を持って、この関数に
void DoSth(/*const*/Circle& c)
{
///
}
を持っています。これは本当に基本的なものです。
参照がまだ使用されている間にポインタが破棄されない限り、それは問題ありません。
int *p = new int;
int &r = *p;
はいあなたは、単にポインタ、たとえば逆参照することができます:あなたは、あなたの問題のいくつかのコードを供給したい場合
void functionToCall(Circle &circle);
//in your code:
Circle *circle = new Circle();
functionToCall(*circle);
それは容易になるだろう。しかし基本的には次のようになります:
void func(Circle& circle) {
// do something
}
...
Circle *pCircle = new Circle();
func(*pCircle);