1

C ++標準の16.1.4(条件付き包含)では、次のように述べています。

このトークンの変換と評価の目的で、すべての符号付きおよび符号なし整数型は、それぞれintmax_tまたはuintmax_tと同じ表現を持っているかのように機能します。

わかりません。「と同じ表現をしているように振る舞う」とはどういう意味ですか?

integer-literals2.14.2.2で説明されているように、値とサフィックスに応じて特定の基本タイプにトークン化されます。

16.1.4の引用は、それらのタイプがどういうわけかとに「置き換えられた」と言っていintmax_tますuintmax_tか?(これは、整数リテラルを静的にキャストするのとまったく同じintmax_tですかuintmax_t?)

4

1 に答える 1

2

これは基本的に、プリプロセッサが型情報を処理する必要がないことを意味します。単一のタイプですべての整数演算を実行できます。ほとんどの場合、違いはありませんが、のようなものUINT_MAX + 1Uは非常に大きな数になり、プリプロセッサの外部では。になり0ます。

于 2013-03-04T18:40:33.827 に答える