ウラをとる作業。
以前、Cの経験しかない人が、
このソース、同じ関数名がだぶって使われています!
だいじょうぶなんすか?
と言いました。私は、湖を指差し、「その辺に網を投げなさい。けれど魚は獲れないでしょう」とは言いませんでしたが、代わりにこう応えました。
それはC++では普通のことで、関数の多重定義とかオーバーライドと呼ばれる仕組みです。
それがないと、私は途方に暮れてしまいます。
よく観察してください。引数の個数や型が違うでしょ。
これがなければ、簡単な例では、ゲッター/セッターの名前の個数がすぐに爆発してしまいます。
set_int、set_double・・・set_hogeなどの名前爆発(naming explosion)は、昔のCの大規模ソースで実際に経験していたのです。
しかし、質問者は続けます。
ウゲー。
それじゃぁgrepしたとき困るじゃないすか~
それには同意するしかありません。しかしあえてこう付け加えておきました。
C++を創った人は、現実世界の問題を、エレガントに解決することを考えているので、メリットのない拡張はありません。デメリットはメリットを下回るのです。「なぜか」を考えないとエレガントにはいきませんがね。
この部分は、断片的な記憶を頼りに騙ったわけです。この部分の裏を取ろうとしばらく悩んでいました。
で、駐車場の割引券欲しさにヨドバシでたまたま買ったD&Eの前書きのような端書のような能書きに、書いてあるのを見つけました。
C++の目的は崇高である:プログラマに、現実世界のコードの抽象度を高め、ひいては多くの真剣なプログラマの労働環境を改善しよう、というものである。

- 作者: Bjarne Stroustrup,ビョーンストラウストラップ,επιστημη,岩谷宏
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2005/01/19
- メディア: 単行本
- 購入: 2人 クリック: 125回
- この商品を含むブログ (160件) を見る
真剣でないが、*1C++プログラマは抽象度も、労働環境も、生産性の向上も得ることができないのは仕方が無い気がします。ただしそのおかげで私のような三流実装屋でも、簡単に実装を改善をすることができるわけですが。
コメント