C での整数の短いリテラルへのキャスト
C では、特定の形式で整数リテラルを記述すると、そのデータ型が示されます。ただし、短いリテラルを書くのは混乱するように思えるかもしれません。
質問: 短いリテラルの実装
短いリテラルは C でどのように記述できますか?既存の知識には次のものが含まれます。
答え: 整数のキャスト
直接の short リテラル形式はありませんが、整数を short にキャストすると、次の望ましい動作が得られます。
<code class="cpp">((short)2)</code>
キャストの動作
リテラルではないにもかかわらずキャストでは、追加のメモリを明示的に割り当てたり、不要な変換を実行したりせずに、整数を short に強制することで、同様の動作が保証されます。
逆アセンブリの例
次のコードを考えてみましょう。
<code class="cpp">a = 2L; b = 2.0; c = (short)2; d = '';</code>
このコードをコンパイルおよび逆アセンブルすると、次の結果が得られます。
movl , _a movl , _b movl , _c movl , _d
これは、宣言された型に関係なく、コンパイラがコードを最適化し、すべての変数に 2 を格納することを示しています。
以上がC で短いリテラルを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。