Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
C は単なる再解釈キャストであり、ビット パターンはそのまま残されていると推測しています。
より広い符号付き値をより狭い符号付き値にキャストするとどうなるかを理解しようとしています。符号は保持されますか、それとも単に符号付きの値として解釈される狭い幅の値ですか。
ご協力ありがとうございます。
編集 -- これは C99 でコンパイルされた C コード用です。問題は、ずさんな古いスタイルのキャストで C++ コンパイラが何をするかではなく、C が何をするかについて何か定義されているかどうかです。
同等のキャストはありません。
C キャストは、すべての C++ キャストと同様に動作できます (を除くdynamic_cast)。
dynamic_cast
C キャストは、最終的に C++ キャストになります ( を除くdynamic_cast)。次の中で成功する最初のキャストです。