![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
普段会社だとC++のマニアックな話しとかあんまりできないので面白かったー。STMがかなり気になったので、GCJと仕事が終わったらちょっと触ってみる。
2010-05-08 21:22:56![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
やっぱり言語使うのスキーな人はアルゴリズム系や理論系の人とはまた違うノリがあって新鮮でした。意外と回りにいなかったんだよなあ。
2010-05-08 21:25:16![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
#boostjp 戻り値の型にconstを付けると、const X f(); a + b = f();みたいなのをエラーにすることができるけど、void g(X&&)という関数があったときにconst戻り値を渡すことができないg(f()); // エラー!
2010-05-08 22:56:04![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
#boostjp これの解決策としては、関数の戻り値の型にはconstを付けず、C++0xでのthisに対するlvalue/rvalue修飾をすればいいんじゃないかと:struct X { X& operator=(const X&) &; };
2010-05-08 22:57:24![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
それはよくやるですお。 RT: @cpp_akira #boostjp const教の中には戻り値の型にもconstを付けるひとがいるとかいないとか [電波注意]
2010-05-08 22:59:49![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
#boostjp Boostに提案予定のTBoost.STMなんてのがあるよ http://svn.boost.org/svn/boost/sandbox/stm/branches/vbe/libs/stm/doc/html/index.html
2010-05-08 23:00:31![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
#boostjp HaskellでのSTMは、コンパイラサポートが入っていて、retryする位置を覚えていたり、STMにできないとこで使ったらコンパイル時に検出してくれてエラーにしてくれたりするらしい
2010-05-08 23:02:38![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
#boostjp Boost.ChronoのClock::now()は例外投げる版、投げない版が用意されている。作ってるひとは同じなのでC++0xのドキュメントが古いだけじゃないか http://bit.ly/dqQoJ0
2010-05-08 23:06:37![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
#boostjp 「Boostに多倍長整数ライブラリ入らないかな」→「Summer of Codeでなんかやるらしい」→「多倍長整数って何に使うんだろ」→「暗号化くらい?」→「あぁ、だからBoost.Cryolite…げふんげふん…Boost.Cryptoなんてのが一緒に」
2010-05-08 23:10:23![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
正確には失敗時にどうするかの規定が一切ないってことですね RT @cpp_akira: #boostjp C++0xのClock::now()は失敗時に例外を投げないのはおかしいんじゃないか
2010-05-08 23:14:04![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
あ、さっきのコードはoperator+()の戻り値が const だとダメじゃない?と思った例。a + b = c と同じぐらいに書かないコードだとは思う。
2010-05-08 23:18:42![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
ライブラリ自動生成ライブラリ RT @melponn: お題: Boost.Cryolite はどんなライブラリでしょう?
2010-05-08 23:22:13![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
それはすごいw RT @cpp_akira: ライブラリ自動生成ライブラリ RT @melponn: お題: Boost.Cryolite はどんなライブラリでしょう?
2010-05-08 23:22:37