エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
日下部陽一(void)さんと遊ぼう(7) - やねうらおブログ(移転しました)
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
日下部陽一(void)さんと遊ぼう(7) - やねうらおブログ(移転しました)
さて話を戻そう。私の反論が大チョンボだったというのは、マクロの存在を全く考慮に入れていないという... さて話を戻そう。私の反論が大チョンボだったというのは、マクロの存在を全く考慮に入れていないということにある。short codeを目指す場合、マクロを用いることでコードの短縮化が図れるならば当然マクロを使うだろう。そのマクロはC/C++言語においてプリプロセスで処理される。簡単に言ってしまえば文字置換である。文字置換であるがゆえにマクロは文法規則を全く無視して介入してくる。 そこでC/C++言語の文法構造のBNFやら何やらを持ちだしてきて等価性を言ってもマクロの前には無力なのである。 例えば、for(;exp;) の場合、セミコロンを省略できない。whileではセミコロンは必要ない。この違いがどういう結果を導くのか。次のような括弧つきのマクロがあった場合、whileのほうが短くなるのである。 #define FOREVER (1) for(;FOREVER;) と while FOREVE