«前の日記(2006.12.09 / Saturday) 最新 次の日記(2006.12.13 / Wednesday)» 編集

Hena Hena Nikki

2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|10|11|12|
2012|01|02|03|04|05|06|07|08|10|12|
2013|01|02|04|06|

2006.12.10 / Sunday [長年日記]

* [computer] 基本クラスのオーバー・ロード情報の隠蔽

バカが征くの話題。 ダメな理由は Exceptional C++ の 34 項に書いてあるらしい…と、教えてもらった。 この本、まだ読んでないな。

#include <iostream>
class Base { protected: int value;
public: Base(const int value) : value(value) { } virtual ~Base(void) { } virtual int getValue(void) const { return value; } virtual void getValue(int* const out) const { *out = value; } };
class Derived : public Base { public: Derived(const int value) : Base(value) { } virtual ~Derived(void) { } virtual void getValue(int* const out) const { *out = value; } using Base::getValue; };
int main(void) { Derived* d = new Derived(10); std::cout << d->getValue() << std::endl; delete d;
return 0; }

で、この場合は上記の様に using Base::getValue で解決するものらしい…と、 C++ Coding Standards の 38 項に書いてあった。 すごく C++ っぽい (ある意味とても嫌な) 話題だ。

かなり久々に C++ のコードいじった気がする。 最近はずっと C と Ruby ばっかりだから、まあ、実際そうなんだけど。

* [computer/update] uApp ver.1.3

Mac OS X 向けアプリケーション削除補助ツール。

* [computer] iPartition ver.2.0 (NetJapan)

Intel Mac 対応版が出たようだ。


  • この日記には本日 名の方が訪問してくださっているようです。 また、昨日は 名の方が訪問してくださったようです。
  • この日記の更新情報の取得には antenna.lirs を利用するのがおすすめです。