您的類別定義了到bool 的明確轉換,使您能夠在條件語句中直接使用其實例“t”。然而,這種明確轉換提出了一個問題:「t」在哪裡可以在不進行強制轉換的情況下用作 bool?
上下文轉換場景
C 標準指定了四個值可以根據上下文轉換為bool 的主要場景:
語句:
if、while、for、do-while 語句
<code class="cpp">if (t) /* statement */;</code>
表達式>
<code class="cpp">!t t && t2</code>
<code class="cpp">static_assert(t); noexcept(t)</code>
<code class="cpp">NullablePointer T std::remove_if(first, last, [&](auto){ return t; });</code>
以上是除了「if」語句之外:還有哪些地方可以在不進行強制轉換的情況下使用具有明確「bool」轉換的類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!