C++ってなんであんなに肥大化しちゃったの?
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
700:デフォルトの名無しさん 08/10/07 10:26:45 >>683 int i=0; if (i++ || i++) { printf("%d", i); } 701:デフォルトの名無しさん 08/10/07 11:27:57 落とし穴だらけでもはや正格評価で&&や||を関数化することの問題すら C++信者には見えなくなってるのか 以下のようなif文がある if (expr) statement exprを評価して真の場合にだけstatementを評価する 常識だな これを if(expr, statement) という関数にすることを考える C++は多くの言語と同様正格評価だから、if関数を評価する前に expr, statementの両方を評価することになるが、 言うまでも無くこの時点で元のif文とは意味が異なっていることになる &&や||も全く同じだ これらはショートサーキットだから、本来右オペランドは条件付きでしか 評価されない C/C++のコーディングではその性質が多用されるが、関数化されていれば 常に評価されてしまう 禿は、無用で、使えば問題を引き起こすと分かっているこの機能を 平然と取り入れ、仕方が無いからC++ユーザはそれを避けることで 問題を回避する 些細に見えるかもしれないが、このようなものが積もりに積もって、 結果としてC++は糞の山になっているんだぞ
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5376日前に更新/163 KB
担当:undef