mem_fun
問題なんだけど,
ここ
から始まるスレッド見てたら
<functional>
の bind1st
などを使えば良さそうだとわかった.
transform
で「関数の値渡し」の対象となってる
const Type Func(const Type x) { return x * x; } // これで transform…… 処理の中身はなんでもいいンだけど, 引数も値渡ししかできんところが (なんとなく) イヤだ. ここは本当に引数の値渡しやってるんだろうか? そもそも「関数の値渡し」とは …… ここ から始まるスレッドでも議論されてるな. なんとかして参照渡しする工夫をする, もしくはコンパイラーによる最適化を祈るしかないのかな? あるいは
Boost
使え,
とか.
Lex
が落ちてる
……
再起動して調べてみるに,
cron
と連動するファイルシステムがらみ,
という気がする
……
昨日カーネルをてきとーに作り直してしまったからなあ.
Quota
か HFS
か?
しばらく様子みるか.
mem_fun
だの bind1st
だのの事情が少しわかってきたような気がする.
C++ には 3 とーりもの関数よびだし方法がありやがるんだけど,
STL <algorithm>
の関数たちはそのうち最も簡単な構文 (元祖 C ふう)
にしか対応してない.
そのままではね.
で,
のこり 2 つのために
ptr_fun
だの mem_fun
だのあるわけだな.
すると
bind1st(mem_fun(&Aclass::Func), this) // !!! STL の呪い !!!かかるいでぃおむは STL の呪いというより C++ の原罪なのか? いつものことながら. ははは. C++ 標準化委員会もさすがに 「このへん,やばっちいかも」 と危惧してるそうだから, かの悪魔の教典 すとらうすとらっぷ本 4th ed. が出るころには何か変わってるのかなぁ.
operator <<
とか定義して,
試験運転コード書いて
……
ということになるわけだが,
その前に北大構内走に出ることにする.
雨もあがったようなんで.
おっとその前にバックアップ.
tgz_save.sh && rsync.sh
.