507
1
C++で演算子オーバーロードしたときの演算子決定基準について調べた - 矢野勉のはてな日記
http://d.hatena.ne.jp/t_yano/20080923/1222191173 本文へ
(本文から引用)
すみませんしょぼい話です。『ジョエル・オン・ソフトウェア』の下記記事で
間違ったコードは間違って見えるようにする - The Joel on Software Translation Project
C言語では i = j * 5 は j を5倍する以外の意味はないけども、C++の場合は、i = j * 5 が何を意味するかは i と j の型を調べ、型の定義を見て、型にサブクラスがないかどうかをチェックし、もしあったら、実際には i あるいは j がそのサブクラスの方だったりしないかどうかチェックして初めて、 i = j * 5 の意味がわかる、という話があります。この話をtwitterにぽろぽろ書いているうちに、自分がC++の演算子オーバーロードについて無知であることが分かったので実験コードを書いてました。
その実験コード書きながらもtwitterにぽろぽろ書いてたんですが、何度か誤ったことを書いてしまって、慌てて訂正ポストとかしてたらtwitterが落ちたりして大変でした。そんなgdgdな感じだったので、調べたことをまとめておきます。ちなみに、この話は「プログラミング言語C++」を読んじゃうくらいのC++プロ...
この記事をクリップしたユーザー一覧
-
tsupoさん 2008/09/24 20:06
明示的にコンストラクタを呼び出したい場合は CBase *base = new CBase(); と書けばいいし / virtual は油断すると、いろいろな罠にはまるので注意(メモリリークの原因になったり、予想外のメソッドが動いたり)
みんなのおすすめ商品(Amazon.co.jp)
|
|
|
|
|---|---|---|---|
彩雲国物語 暗き黄昏の宮 (角川ビーンズ文庫)9人がクリックしました
著者:雪乃 紗衣 |
ああっ女神さまっ 40 (アフタヌーンKC)26人がクリックしました
著者:藤島 康介 |
のだめカンタービレ #23 (講談社コミックスキス)45人がクリックしました
著者:二ノ宮 知子 |
他にもこんなクリップがオススメ
-
Javaの道(Java入門・リファレンス) 本文へ -
【レポート】Java初学者には最適!? 解説から実行までブラウザでコンプリート - Javala (MYCOMジャーナル) 本文へ
Webブラウザから直接ソースコードを編集し、実行ボタンまたは実行リンクをクリックしてソースコードを実行、理解が正しいかどうかをその場で確認 / 編集されたソースコードがサーバサイドで動作 -
*「ふっかつのじゅもんがちがいます。」 Javaにvariant型を実装した 本文へ
5〜6年ぶりにJavaをいじっています / Javaのリハビリとしてバリアント型を作ってみました / もうJavaソースには見えません / JavaでhackするというよりJavaをFxxkしてる気分になりました → 何かの伏線かな
同じサイトでクリップされている記事
-
IPA討論会の現場が@ITの記事と全然違っている - 矢野勉のはてな日記 本文へ
@ITの記事は本当に、アクセス数稼ぎのネガティブ・キャンペーンだった / @ITにもITProにも出てこないセッションの話 / @ITからは見えてこない現場 → http://d.hatena.ne.jp/next49/20080529/p1 を見ているところ -
「エンジニアの未来サミット」に行ってきた - 矢野勉のはてな日記 本文へ
「この人たちはそういう経験のない、おれたちの知ってるIT業界の人たちとは違う人たちなんだ」 → 登壇者のリストを見る限り、そういう風に見える。IT業界が嫌いなIT業界人も数人入れないとリアルさが出ない -
矢野勉のはてな日記 - プログラマなら人月なんかさっさと超えろ 本文へ



