クラスは bool への明示的な変換を定義し、そのインスタンス 't' を条件文で直接使用できるようにします。ただし、この明示的な変換では、キャストなしで bool として 't' を使用できる場所はどこですか?
コンテキスト変換シナリオ
C 標準では 4 つのシナリオが指定されています。コンテキストに応じて値を変換できる主なシナリオbool:
ステートメント:
if、while、for、do-while ステートメント
if (t)
/* statement */;
式:
否定 (!)、論理 AND (&&)、論理OR (||)、三項演算子 (?)
!t
t && t2
コンパイル時テスト:
static_assert、no例外、明示的、constexpr の場合 (constexpr 変換が必要)演算子)
static_assert(t);
noexcept(t)
アルゴリズムと概念:
STL アルゴリズムの NullablePointer、述語、またはコンパレータ引数
NullablePointer T
std::remove_if(first, last, [&](auto){ return t; });
補足:
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3