[解決済み] Cのtypeof演算子
2022-03-06 13:33:15
質問
C言語のtypeofは本当に演算子なのですか?
C言語にはポリモーフィズムがないので、実行時にやることがないのではないかと思っています。 つまり、コンパイル時にtypeofの答えが分かっている。 (コンパイル時にわからないようなtypeofの使い方は思いつきません。)ですから、演算子というよりは、コンパイル時の指令のようなものに見えるのです。
typeofは(GCCで)何か(プロセッサの)ランタイムを使うのですか?
解決方法は?
以来
typeof
はコンパイラの拡張機能であるため、実際には定義はありませんが、C言語の伝統に従えば、例えば次のような演算子となります。
sizeof
と
_Alignof
も演算子として扱われます。
そして、あなたは勘違いしています。C言語には、実行時にのみ決定される動的な型、すなわちVM(Variable Modified)型があります。
size_t n = strtoull(argv[1], 0, 0);
double A[n][n];
typeof(A) B;
は、実行時にしか決定できません。
2021年に追加された。
typeof
と同様のルールで
sizeof
はC23に入ります。
関連
-
[解決済み】「複数の定義」「最初に定義されたのはここです」エラーについて
-
[解決済み] Cプログラムで「配列の添え字が整数でない」。
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] 型チェック:typeof、GetType、is?
-
[解決済み] なぜGCCは、速度の代わりにサイズに最適化すると、15-20%速いコードを生成するのですか?
-
[解決済み] typeofとinstanceofの違いは何ですか、また、どのような場合にどちらを使うべきですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】警告:互換性のないポインタ型からの代入
-
[解決済み】デバッガgdbの使用時に不明な終了シグナルが発生する。
-
[解決済み] clang: error: linker command failed with exit code 1が表示されるのはなぜですか?
-
[解決済み】 switch case: error: case label does not reduce to an integer constant
-
[解決済み] [Solved] なぜこのようなエラーが発生するのでしょうか。「データ定義に型またはストレージクラスがない」?
-
[解決済み】メモリー・クロバリング・エラー
-
[解決済み】argv[]をint型として取得するには?
-
[解決済み】スタックスマッシュを検出しました
-
[解決済み】.axfファイルとは何ですか?
-
[解決済み】配列型char[]が代入できない [重複]。