2009-07-01から1ヶ月間の記事一覧
A、B二つのクラスを継承したCというクラスを、A、Bにキャスト、あるいはそこからさらにアップキャストしたらどうなるかを実験してみた。あくまで、手元のVS2008SP1で実験してみた結果。 #include <iostream> using namespace std; #if 01 class A{ public: char m_a[5]</iostream>…
C++0x、コンセプト除外の決断というタイトルで、Bjarne Stroustrup博士がDr.Dobbsに7月22日付けで寄稿していた。その中でも、「何が起きたのか」について語っているくだりを読みながらメモしているうちに勝手な訳文ができてしまったのでせっかくだからメモ。…
渋谷Bunkamuraで開催されている、「だまし絵」展に言ってきました。結構面白かった。まるでSIGGRAPHのエマテクやアートギャラリーを見ているようだったとまでは言いませんが、人間は昔から視覚のいたずらというものを楽しんできたのだなーと、またそういうも…
C++とかってそのまんま正直に使ってると多重継承とか入るとすぐダウンキャストとかアップキャストとかできなくなったりして焦ったり騒いだりしなきゃなんないでめんどくさくねーっすか。時としてですが。 基本的にメモリ管理自分でやっちゃえば、オブジェク…
●operator new() のオーバーライドでC2660エラー MFCのコードをコンパイル中に、operator new() をオーバーライドしようとしてる箇所で、「operator new():3つ以上の引数は指定できません」とかわけのわからんエラーで怒られて困ることがあるが、これはMFC…
部屋暗くしてパソコンしてたらなんだか目の奥のあたりから体の芯のあたりまでむずむずしだして、一瞬だが吐き気のような、何だか急に暴れだしたくなるような、「うわー!」っと叫びたくなるような、ようするにすげー気持ち悪くなった。。 これが激しくなると…
// macro for properties #define POC_PROP( typ, mem, Mem )\ public:\ void set##Mem( const typ& val ){ mem = val; } \ typ& ref##Mem( void ){ return mem; }\ const typ& Mem( void ) const { return mem; }\ typ* p##Mem( void ){ return &mem; }\ pr…
という噂があるらしい。が、ほのめかすだけできちんと説明してくれてる記事がなかなか見つけられない…。conceptsはある意味C++0xの目玉機能の一つだと思ってたのにぃ。。テンプレートがより明示的でわかりやすくなるものらしいと楽しみにしていたのだが、ポ…
三角ストリップになった頂点インデックス並びを、普通の三角頂点インデックスに展開するための最短変換コードを考えました。もういちいち毎回悩まなくてもいいのです!ループの中に条件判定もないし、おまけにreserveもかましてるので、パフォーマンスも完璧…
空ドームが完成した。砂漠の中にいます。ウォークスルーカメラを完成させて下さい。CADとかツール系の仕事ばっかやってると本来OpenGLでできること、まだまだやりたかったことを忘れてしまいそうになるね。それはとてももったいないし、さびしいことだ。もっ…
vc2008のSP1でtr1::bind()を使う場合は、 std::tr1::bind( &shScene::Draw, this->m_scene, _1 ), だとどうも、「_1」が不明ですとか言われてしまう。これは std::tr1::bind( &shScene::Draw, this->m_scene, std::tr1::placeholders::_1 ), という感じで「p…