ひだかです。
kikwai@... (機械伯爵) wrote:
> ども、機械です。
>
> う〜ん、自分の不勉強が次第に暴露されていくのは、もはや
> 快感に近いですね☆
ぼくも Python はさっぱりですし。いまごろMFC入門したり
していたりします(>_<)
> > > > それよりも、もっと面倒なのは暗黙の型変換のせいじゃないでしょうか?
> > > C++はクラスインスタンスについては非常にシビアなので、明示的なキャスト
> > > がなければスーパークラス型にさえなりません。
> ↑は本当なんですが、そういえば、暗示的な型キャストが問題になるのは、関数
> でなくて演算子でしたね・・・
Javaの例がありましたが、Javaだと全部ポインタですからねぇ。
> 整数→実数(浮動小数点数)→複素数という型キャストと同様の感覚で理解
> できないことはないわけですし、演算に使う以上、数値的なオブジェクトである
> と思われるわけなので、思想としては一貫してるため、曖昧さは無いと思い
> ますが、まぁ・・・あまり「簡便」だとは思えなくなりました、ハイ。
意図はたしかにこういうことがやりたいんでしょうね。
でも、Foo(int) コンストラクタと、operator +(Foo, Foo)と
operator +(Foo, int) が並存できなかったりします。
> > 古くからC++に触れた人はこのあたりの混乱に嫌気がさしているでしょうし、
> > 新しい仕様にちゃんとマッチした参考書(とくに、古い仕様と新しい
> > 仕様の差分をきちんと記述したもの)の不足もあって、C++の
> > 演算子オーバーロードはややこしい、という定説があるんじゃないかと
> > 思います。
> 私も、1998年(1997年)以前のC++の本は、正直、読む気ありませんでした
> からね・・・(何回も挫折しました・・・)
最近お勧めの本とかありますか?逆にそれ以降の本は
全然読んでません・・・ってここはC++の部屋じゃないんでした。
> WindowsなんかでVC++を使えないのも、新ISO-C++規格でない、というのが
> ありまして・・・
> ※DelphiのObjectPascalはヒステリックな仕様の言語なんで、C++Builder
> に鞍替えしよーかしらん。
C++Builder は使いますけど、VCLの呪縛が結構きついので、
すぐにObjectPascal的プログラムができてしまいます。
> 先月のCマガ、買いそびれたんですよねぇ(毎月買ってるんですが・・・)
> 私の感想としては、explicit(明示的)というようなキーワードを作る
> くらいなら、implicit(暗黙の)というキーワードを作って、「融通」する
> ほうを規制したほうが間違いが少ないんじゃないかな、と思います。
新規言語ならそうしてもいいですが互換性の呪縛もありますからね。。
> 複数のオブジェクトに一気にメッセージを送るシステムがあれば面白そう
> ですけどね。
>
> そうなると、Forthのように後置式(RPN)にしたほうがいいみたいですね。
おぉなるほど、とも思ったのですが、RPNだと演算子の嬉しさがかなり
減るような気もします。やっぱり数式っぽく見えることというのは、
FORTRANの発明以来、大事なことなんじゃないでしょうかね。
--
ひだかたかひろ cv8t-hdk@...-net.or.jp