Status, Recent Changes, and Plans

このセクションが、初めて読む人に邪魔になって申し訳ありません。 目次にとばしたり、直接 スタートガイドリファレンスマニュアルFAQ に行きたいかもしれません。 このセクションは、最近の更新をチェックするのが簡単になるようにトップに設けています。


nsCOMPtr に対する最近の更新

新しいものから順に

  • nsCOMPtr と生のポインタ(もしくはリテラル 0 や nsnull)の間の ==!= がすべてのコンパイラで正しく働くようにしました。バグ 65664 を参照してください
  • getter_AddRefs( nsCOMPtr& ) に対して、簡単な代入式が行うのと同じ [[Using_nsCOMPtr:Reference_Manual#型の保護手段|type-safety check] を適用します。
  • do_CreateInstance を追加しました。
  • do_GetService を追加しました。
  • nsISupports** が必要な時に getter_AddRefs をキャストする必要性がなくなりました。
  • nsCOMPtr<nsISupports> の不変性を緩和したので、 任意の [XP]COMインタフェースへのポインタを使うことができるようなりました。
  • nsIWeakReference を簡単に使えるように、do_QueryReferent を追加しました。

nsCOMPtr の計画

  • バグ 59212: 私たちがより多くのコンパイラでテストできるようになり次第、 already_AddRefed を関数の戻り値として推奨する事を始めます。
  • バグ 59414: operator&private とすることで、キャストによるリーク のいくつかを防ぐのを助けるでしょう
  • nsCOMPtr</code>を複数のルーチンに分解してライブラリに入れます。それにより、nsCOMPtrのクライアントの XPCOM ライブラリへの依存性を減らします。

最近のドキュメントの更新

  • nsCOMPtr と生のポインタ、リテラル 0 との間にある ==!= が一部のコンパイラで正しく働かないという記述は、既に問題が解決されたので削除しました。
  • スタートガイドに 関数識別子内の nsCOMPtr セクション全体を追加しました。
  • nsCOMPtr 機構を使うことに影響を及ぼす現在のバグへの言及を加えました。バグ 59212バグ 59414
  • Morten Welinder のコメントのように、13 の比較を修正しました。
  • コピー初期化よりも直接の初期化の方が好ましい例を更新しました。

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: kohei.yoshino
 最終更新者: kohei.yoshino,