Valaの弱い参照と所有されていない参照の違いは何ですか.
Vala のチュートリアルから学んだことによると、弱い参照と所有されていない参照の両方がカウントされず、実際のインスタンスがスコープ外になると null(!!) が参照されます。
1つの理由で2つの異なる手段が必要なのはなぜですか?(同じ仕事をしている場合)そうでない場合、誰かが簡単な例を挙げて、それぞれの手段をいつ、なぜ使用する必要があるかを示すことができますか?!
どうもありがとう
Valaの弱い参照と所有されていない参照の違いは何ですか.
Vala のチュートリアルから学んだことによると、弱い参照と所有されていない参照の両方がカウントされず、実際のインスタンスがスコープ外になると null(!!) が参照されます。
1つの理由で2つの異なる手段が必要なのはなぜですか?(同じ仕事をしている場合)そうでない場合、誰かが簡単な例を挙げて、それぞれの手段をいつ、なぜ使用する必要があるかを示すことができますか?!
どうもありがとう
現在、両者に違いはありません。言語開発者は、将来的に違いがある可能性を示すために 2 つの異なるキーワードを選択しました。ドキュメントからのこの引用を参照してください。
現時点では、weak と unowned は同じ意味で使用できます。ただし、上記のように、weak は参照サイクルを中断する場合にのみ使用し、unowned は所有権の問題にのみ使用する必要があります。
私が見る限り、GLib.Object
サブクラスでは弱参照が使用され、GObject 以外の C ライブラリからインポートされた非参照カウント (Vala 用語では「コンパクト」) クラスでは非所有参照が使用されます。上記でリンクしたドキュメント ページに例があります。