a4_p0007
のバックアップ(No.1)
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
バックアップ一覧
差分
を表示
現在との差分
を表示
ソース
を表示
a4_p0007
へ行く。
1 (2026-04-25 (土) 13:38:29)
2 (2026-04-25 (土) 16:37:55)
3 (2026-04-25 (土) 17:44:00)
4 (2026-04-25 (土) 17:44:00)
5 (2026-04-26 (日) 21:42:59)
6 (2026-04-26 (日) 21:42:59)
7 (2026-04-27 (月) 09:01:29)
8 (2026-04-27 (月) 09:01:29)
acl4のプログラムのページ0007
(by
K
, 2026.04.25)
↑
(1) プリプロセッサは善か悪か?
私はかつてC言語のプリプロセッサのマクロが嫌いでした。関数みたいな見た目だけど、実際は関数ではなく、ただのテキストの置き換えです。
#define Square(x) (x)*(x)
みたいなのがあると、xは二度評価されて、副作用があったりするとわかりにくいバグになるわけです。またマクロは型チェックもしてくれません。
こんなのやるくらいなら inline 関数を書いたほうがマシです。
まあ最適が強くないコンパイラでも、関数呼び出しコードを生成しないことが確実なところはちょっといいなと思っていましたが・・・。
私は今はプリプロセッサが大好きです。プリプロセッサは世界を超えるパワーを持っていると思います。うまく使えばこれほど有用なものはないのです。今日はその話をしたいと思います。