3

Valaの弱い参照と所有されていない参照の違いは何ですか.

Vala のチュートリアルから学んだことによると、弱い参照と所有されていない参照の両方がカウントされず、実際のインスタンスがスコープ外になると null(!!) が参照されます。

1つの理由で2つの異なる手段が必要なのはなぜですか?(同じ仕事をしている場合)そうでない場合、誰かが簡単な例を挙げて、それぞれの手段をいつ、なぜ使用する必要があるかを示すことができますか?!

どうもありがとう

4

1 に答える 1

7

現在、両者に違いはありません。言語開発者は、将来的に違いがある可能性を示すために 2 つの異なるキーワードを選択しました。ドキュメントからのこの引用を参照してください。

現時点では、weak と unowned は同じ意味で使用できます。ただし、上記のように、weak は参照サイクルを中断する場合にのみ使用し、unowned は所有権の問題にのみ使用する必要があります。

私が見る限り、GLib.Objectサブクラスでは弱参照が使用され、GObject 以外の C ライブラリからインポートされた非参照カウント (Vala 用語では「コンパクト」) クラスでは非所有参照が使用されます。上記でリンクしたドキュメント ページに例があります。

于 2010-10-06T09:27:06.207 に答える