[解決済み] Cの隠された特徴
2022-05-16 14:03:46
質問
すべての C コンパイラの実装の背後に標準があることは知っているので、隠された機能はないはずです。それにもかかわらず、私はすべての C 開発者が常に使用する隠し/秘密のトリックを持っていると確信しています。
どのように解決するのですか?
関数ポインタです。 関数ポインタのテーブルを使用して、例えば高速間接スレッドコードインタプリタ (FORTH) やバイトコードディスパッチャを実装したり、OOライクな仮想メソッドをシミュレートすることができます。
そして、qsort(),bsearch(), strpbrk(), strcspn() [後者2つは strtok() の代わりの実装に便利] など、標準ライブラリの隠れた名品があります。
C言語の誤った特徴として、符号付き算術オーバーフローは未定義動作(UB)であることが挙げられます。 したがって、x+yのような式を見るときはいつでも、両方とも符号付きintであり、それは潜在的にオーバーフローし、UBを引き起こすかもしれません。
関連
-
#137: 式は変更可能なlvalueでなければならない問題 // 文字列配列の代入問題
-
未定義の `__isoc99_sscanf' への参照
-
[解決済み] Linuxカーネルにおけるcontainer_ofマクロの理解
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?
-
[解決済み] C言語とC++の両方で有効なコードを、それぞれの言語でコンパイルすると、異なる動作になることがありますか?
-
[解決済み] longをフォーマットするprintfの引数は何ですか?
-
[解決済み] なぜsizeof(x++)はxをインクリメントしないのですか?
-
[解決済み] なぜ16進数には0xがつくのですか?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
initializer element is not constant "というエラーが表示されるのですが?
-
未定義の `__isoc99_sscanf' への参照
-
[解決済み] mallocの結果はキャストするのですか?
-
[解決済み] mallocとcallocの違い?
-
[解決済み] C言語でのブーリアン値の使用
-
[解決済み] C言語でファイルが存在するかどうかを確認する最も良い方法は何ですか?
-
[解決済み] C言語のi++と++iに性能差はあるのでしょうか?
-
[解決済み] なぜ16進数には0xがつくのですか?
-
[解決済み] C言語でファイルサイズを取得するには?[重複]する
-
[解決済み] C言語の構造体(CGRectやCGPointなど)をNSLog化することは可能ですか?