Source of Nothingness - c++

* Menu

[[About:self:AboutPage.txt]] | [[Profile:http://iddy.jp/profile/southly/]] | [[まとめ:self:1163859357.txt]] | [[オリジナル:http://ninjinix.x0.com/rn/]] | [[xyzzy:http://raido.sakura.ne.jp/southly/xyzzy/site-lisp/]] | [[あんてな:http://i-know.jp/southly/listall]] | [[■:http://raido.sakura.ne.jp/southly/lisp/ni/view.lisp]] | [[buzz:http://www.google.com/profiles/southly#buzz]]

* 2008-09-25 :

cgi?routine=one&name=2008-09-25-0306
void f(void){
return (void)1;
}

C++としては合法というのが個人的な見解。
まず、戻り値が void の関数の戻り値として別の戻り値が void の関数を置くことが合法。
# wikipedia.org/wiki/Return%E6%96%87#C.2FC.2B.2B
つまり、以下の関数 f はOK。
void g() {}
void f() { return g(); }

もうひとつ、C++でキャストは変換演算子とみなすことが可能。
演算子ということは関数で、void へのキャストは戻り値が void の関数ということになる。
ということは上の状況と等しい、ということで合法。

Cとして合法かどうかはよく分からない。

* 実践CLを読了

一番の収穫はCLOSについての理解が深まったこと。
xyzzyで使えないものだから、ちゃんと勉強したことが無くて:beforeとか:afterとかよく分かってなかったんだけど、やっと分かった。(とりあえず使ってみようと思うくらいには)
メソッド結合かぁ〜 よく考えたもんだなぁ〜
C++やJavaなんかのメソッドがクラスに属しているオブジェクト指向とは全くの別物だ。頭を切り替えて使わないといけない。

帰省中に付箋を付けながら読んでいたので、拾い上げておく。
[[(ReadMore...) index.rb?1218973151.txt]]

* Scrapbook : ダウンロードの詳細 : Visual C++ 2008 再頒布可能パッケージ (x86)

 lang=ja&FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf

* Scrapbook : ダウンロードの詳細 : Visual C++ 2005 SP1 再頒布可能パッケージ (x86)

 lang=ja&FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647

* Scrapbook : STL Error Decryptor for C++