std::shared_ptr
がnullかどうかを確認しようとしています。することの間に違いはありますか
std::shared_ptr<int> p;
if (!p) { // method 1 }
if (p == nullptr) { // method 2 }
することの間に違いはありますか
std::shared_ptr<int> p; if (!p) { // method 1 } if (p == nullptr) { // method 2 }
いいえ、違いはありません。その操作のいずれかに 適切に定義されたオーバーロード があります。
別の同等物は
if(p.get() == nullptr)