C++コードの簡単なリターンで:安全なC#ではないC++、ポインタ/参照
person* NewPerson(void)
{
person p;
/* ... */
return &p; //return pointer to person.
}
C#コード:
person NewPerson()
{
return new person(); //return reference to person.
}
私はこの権利を理解していれば、C++の例では、OKではありませんp
ので スコープの外に行くと、機能は野生のポインタ(ダングリングポインタ)を返します。
C#の例は、匿名の新しい人物が参照がある限り、そのスコープ内にとどまるため、OKです。 (呼び出す関数は1つを取得します)
私はこの権利を得ましたか?
あなたは[リンゴをオレンジと比較しています!](http://thisisindexed.com/wp-content/uploads/2011/11/card3052-380x232.jpg) –
多分、しかし両方とも果実です。 :) – Niklas