504
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)
|
|
|
|
|---|---|---|---|
とある科学の超電磁砲 4―とある魔術の禁書目録外伝 (電撃コミックス)63人がクリックしました
著者:鎌池 和馬 |
きのう何食べた? 3 (モーニングKC)36人がクリックしました
著者:よしなが ふみ |
NARUTO (巻ノ48) (ジャンプコミックス)11人がクリックしました
著者:岸本 斉史 |
他にもこんなクリップがオススメ
-
初心者がJavaを“超高速”で学ぶためのコツ:ITpro 本文へ
Javaの勉強。 -
【レポート】Java初学者には最適!? 解説から実行までブラウザでコンプリート - Javala (MYCOMジャーナル) 本文へ
Webブラウザから直接ソースコードを編集し、実行ボタンまたは実行リンクをクリックしてソースコードを実行、理解が正しいかどうかをその場で確認 / 編集されたソースコードがサーバサイドで動作 -
オブジェクトワークス | オープンソースドキュメント 本文へ
Eclipse 3.2 日本語ドキュメント
同じサイトでクリップされている記事
-
IPA討論会の現場が@ITの記事と全然違っている - 矢野勉のはてな日記 本文へ
@ITの記事は本当に、アクセス数稼ぎのネガティブ・キャンペーンだった / @ITにもITProにも出てこないセッションの話 / @ITからは見えてこない現場 → http://d.hatena.ne.jp/next49/20080529/p1 を見ているところ -
10倍集中できる作業環境をMacに構築する方法 - 矢野勉のはてな日記 本文へ
乱暴な気もするけど試してみたい -
矢野勉のはてな日記 - プログラマなら人月なんかさっさと超えろ 本文へ



