size_t またはその他の型識別子が括弧で囲まれている場合に何が起こるかを誰かが説明できますか? 私はそれが古い型キャスト構文であることを知っていますが、この文脈では何が起こっているのかを追っていません。
タイプの最大サイズを次のように定義するためにそれを見てきました:
size_t max_size = (size_t)-1
size_t またはその他の型識別子が括弧で囲まれている場合に何が起こるかを誰かが説明できますか? 私はそれが古い型キャスト構文であることを知っていますが、この文脈では何が起こっているのかを追っていません。
タイプの最大サイズを次のように定義するためにそれを見てきました:
size_t max_size = (size_t)-1
このコードは (不必要に) にキャスト-1
しsize_t
ます。最も可能性の高い意図はsize_t
、このシステムで の最大値を取得することでした。
このコードには未定義の動作はありませんが、このコードは醜いです。C++ では使用する必要がstd::numeric_limits<size_t>::max()
あり、Cでは最大値SIZE_MAX
を取得する目的でマクロを使用する必要があります。size_t
(size_t)-1
実際には同等ですsize_t(-1)