■
14:19
boost-1.47.0のboost::in_placeをVisual C++ 2010 Expressで使うと、警告レベル4でコンパイルしたときにC4512エラーが出てきて困ってる。pragmaでC4512を抑制するか警告レベル3にするとコンパイルできたけど、何だろうなーこれ。
14:33
Visual C++ 2010 の C++0x 対応状況チェック - ロベールの小部屋
「C++11をガンガン使っていくぜー!」と思ってVC++2010を導入してみたけど、思ったほどC++11に対応してないんだなー。可変長引数テンプレートとか、mutexやatomic、threadあたりを使いたかったけど、未対応なのかー。
14:53
C++0xCompilerSupport - Stdcxx Wiki
各コンパイラごとのC++11対応状況の一覧表がありました。便利。今のところコンパイラごとに対応状況がかなりまちまちなので、仕事で安心してC++11を使えるようになるのはまだ先だなー。しばらくは趣味で使うしかないか。
15:12
「早いところC++11が普通に使えるようになってくれよう」と思う一方で、「早いところC++が廃れて別のコンパイラ言語が主流になってくれよう」とも思ってしまう。C++は仕様が複雑過ぎるしコンパイル時間が遅すぎる。Go言語なりD言語なりが主流になってる平行世界はどこにありますか?
22:43
fragments/singleton.hpp at master · psychi/fragments · GitHub
C++でsingletonを実装してみました。boost::in_place経由で任意のコンストラクタを起動できるのと、boost::call_onceでマルチスレッドに対応、あとは破棄の順序を制御をできるのが、がんばったところです。
22:54
singletonの概念はシンプルだけど、C++で実装しようとなるとやたらと面倒が多い。singletonの有用性は高いのにboostあたりでもサポートしてないのは、汎用的なものを用意するのが難しいのが原因なんかも。singletonの標準的な実装がどこかにあるといいんだけど。