[解決済み] C++で短いリテラルを書くには?
2022-06-30 21:39:52
質問
非常に基本的な質問です。
short
リテラルをどのように書けばよいのでしょうか?
私は以下のことを知っています。
-
2
はint
-
2U
はunsigned int
-
2L
はlong
-
2LL
はlong long
-
2.0f
はfloat
-
2.0
はdouble
-
'\2'
はchar
.
しかし、どのように書けば
short
リテラルをどう書くか? 試しに
2S
を試してみましたが、これはコンパイラの警告を出します。
どのように解決するのですか?
((short)2)
そうですね、厳密にはshort literalではなく、casted-intに近いですが、挙動は同じで、直接的な方法はないと思います。
それについて何も見つからなかったので、私がやっていることです。コンパイラーはこれをショート リテラルであるかのようにコンパイルするほど賢いと思います (つまり、実際に int を割り当てて毎回キャストすることはないでしょう)。
以下は、このことをどの程度心配しなければならないかを示しています。
a = 2L;
b = 2.0;
c = (short)2;
d = '\2';
コンパイル -> 逆アセンブル ->
movl $2, _a
movl $2, _b
movl $2, _c
movl $2, _d
関連
-
[解決済み】 != と =! の違いと例(C++の場合)
-
[解決済み】Enterキーを押して続行する
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] 8192個の要素にループをかけると、プログラムが遅くなるのはなぜですか?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】C++のコンパイルにはなぜそんなに時間がかかるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】識別子 "string "は未定義?
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み] error: 'if' の前に unqualified-id を期待した。
-
[解決済み] [Solved] インクルードファイルが開けません。'stdio.h' - Visual Studio Community 2017 - C++ Error
-
[解決済み】CMakeエラー at CMakeLists.txt:30 (project)。CMAKE_C_COMPILER が見つかりませんでした。
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み] (~0L)とはどういう意味ですか?