Source of Nothingness - c++

* Menu

About | Profile | まとめ | オリジナル | xyzzy | あんてな | | buzz

* 2008-09-25 :

http://snmsts.dreamhosters.com/diary/index.cgi?routine=one&name=2008-09-25-0306
void f(void){
return (void)1;
}

C++としては合法というのが個人的な見解。
まず、戻り値が void の関数の戻り値として別の戻り値が void の関数を置くことが合法。
# http://ja.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...)

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

 http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf

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

 http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647

* Scrapbook : STL Error Decryptor for C++

 http://www.bdsoft.com/tools/stlfilt.html

* memo :

なんか最近Lisp書いてないので書き捨ててみた
C++用
(defun foo ()
  (interactive)
  (let ((l nil))
    (save-excursion
      (goto-char (point-min))
      (while (scan-buffer "\\bstd::\\(\\sw\\|\\s_\\)+" :regexp t :no-dup t)
        (pushnew (match-string 0) l :test #'string=)))
    (dolist (x l)
      (insert (format nil "using ~a;~%" x)))))

(defun bar ()
  (interactive)
  (perform-replace "\\bstd::\\(\\(\\sw\\|\\s_\\)+\\)" "\\1" nil t nil nil))

* xyzzy : bregex.dll

戯れに作ってみた。
Boost C++ Libraries の Regex を使うライブラリです。
Perl風の正規表現が使いたい人、動作テストよろしくです。

使い方はstring-matchとかに揃えているので大丈夫かなと思っていたり。

とりあえずc系統とw系統の違いだけ触れておきます。
文字列のデータが「char」なので日本語を扱えません。

文字列のデータが「wchar_t」なので日本語を扱えます。
ただし、Shift_JISの範囲のみです。(たぶん)

なぜ二系統作っているかというとBoost.Regexがどのくらい日本語を扱えるのか
NANRIが知らないからです。しかもVC8との組み合わせで。
wstring-match系で問題なければそれで一本化する予定。

つーことで、動作報告お待ちしています。(あとでXyzzy Wikiにページ作っておきます→作りました 拡張lisp/Boost.Regex
動いた or 動かない、うまくいくパターン or うまくいかないパターンなどなど。

作った時点で興味を失ってるし、今後使う予定も無いのでスタティックリンク版
を作ったらそのまま放置する可能性大です。


あと、リンク禁止なんてことはもちろんありません。どうぞご自由に。
(ReadMore...)

* editorパッケージのbuiltin関数

以下で調べて652個
(let ((count 0))
  (do-symbols (sym (find-package "editor") (format t "~%count: ~d~%" count))
    (when (and (not (find-symbol (symbol-name sym) "lisp"))
               (fboundp sym)
               (si:*builtin-function-p (symbol-function sym)))
      (format t "~a~%" sym)
      (incf count))))
(ReadMore...)

* 2006-11-26

* Scrapbook : C++ Coding Standard

http://www.possibility.com/Cpp/CppCodingStandard.html

* xyzzy : 宿題とか

一応書きとめ。
希望。
印象に残っている。

* Scrapbook : Azarac

http://labs.preferred.jp/azarac/

C++でCGI

* Scrapbook : おびなたのはてな日記 - C++テンプレートでLisp

http://d.hatena.ne.jp/earth2001y/20061001/p2

* xyzzy lisp : へなちょこ補完

C/C++とかJavaとかのメンバをdabbrevライクに補完
てきとー
(ReadMore...)

* Scrapbook : 翔ソフトウェア (Sho's) - XP (エクストリーム プログラミング) - C++ コーディング標準

http://www.shos.info/develop/xp/cplusstd.html