限り私が見ることができるように、observer_ptr
提案はnullptr_t
と等価比較およびクロスタイプ(すなわち、observer_ptr<T>
対observer_ptr<U>
)比較(IN)を含みます。未処理のポインタとの比較はありません。既存のコードベースに徐々に導入しようとすると少し煩わしいものです。Tと< T >をobserver_ptr比較*
質問1:私は、私は現在の提案に正確にモデル化し、異なる名前空間にobserver_ptr
の別の実装を使用しています(これらの演算子を追加する場合は、深刻な問題を予見してください、私はstd::observer_ptr
にこれらを追加することはありません)?
フォローアップ:演算子を追加することは悪い考えであれば、生のポインタと比較するためにobserver_ptr
上)(getを使用する方がよいでしょうか、明示的に生のポインタをラップする方が良いだろうobserver_ptr
?
編集:明らかに十分ではありません - なぜobserver_ptr<T>
にこれらの比較演算子がないのか知りたいのですが。それが単に省略されたものであれば、私はそれらを私の実装に追加し、私の気持ちがいいと思います。その選択の背後に理由がある場合、私はそれが何であるか、そしてこれらの演算子をクラスに追加しないように気を配っているかどうかを理解したいと思います。
@ Jarod42質問を分かりやすくしてくれてありがとうございます。 –
私はウォルターブラウンだけがあなたの質問に答えることができると思う。 – ildjarn
@ildjarnそれはそうかもしれないが、提案の少なくとも1行または2行はこれについて議論しているようだ。非常に初期の草稿のどこかに議論が埋もれていない限り(明示的にこれを解決するT *への暗黙的な変換についての議論が見つかりましたが、後で消えました) –