3

C は単なる再解釈キャストであり、ビット パターンはそのまま残されていると推測しています。

より広い符号付き値をより狭い符号付き値にキャストするとどうなるかを理解しようとしています。符号は保持されますか、それとも単に符号付きの値として解釈される狭い幅の値ですか。

ご協力ありがとうございます。

編集 -- これは C99 でコンパイルされた C コード用です。問題は、ずさんな古いスタイルのキャストで C++ コンパイラが何をするかではなく、C が何をするかについて何か定義されているかどうかです。

4

3 に答える 3

4

同等のキャストはありません。

C キャストは、すべての C++ キャストと同様に動作できます (を除くdynamic_cast)。

于 2013-04-18T16:29:28.110 に答える
2

C キャストは、最終的に C++ キャストになります ( を除くdynamic_cast)。次の中で成功する最初のキャストです。

  • const_cast
  • static_cast
  • static_cast、次に const_cast
  • 再解釈_キャスト
  • reinterpret_cast、次に const_cast
于 2013-04-18T16:31:44.507 に答える