Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
以下のコードはwell-formedなC++0xのコードである。ただし、C++03ではill-formedである。 class Y ; class X { friend Y ; } ; MSVCでコンパイルが通り、GCCでコンパイルが通らなかったので、てっきりまた、MSVCのバグかと思ったが、規格を参照したところ、MSVCの実装はC++0xとして正しいものであった。あやうくMSVCにバグ報告するところであった。危ない危ない。もちろん、ただしくGCCの方にバグ報告しておいた。 追記:バグではなく、未実装なのだという。まさかこのページのExtended friend declarationsがこれを意味するとは思わなかった。また、MSVCも、C++0xを実装しているというより、独自仕様である。C++0xの規定するfriend宣言をすべて実装しているわけではない。 C++0xでは、type sp
だいぶ前(少なくても1.40.0以降)から対応してるみたいですが、C++0xのstatic_assertを持っている環境では、BOOST_STATIC_ASSERTの中身が以下のようになるようです。 #define BOOST_STATIC_ASSERT( B ) static_assert(B, #B) GCC 4.5で検証した結果。 #include <boost/static_assert.hpp> BOOST_STATIC_ASSERT(1 == 2); int main(){} C++03 main.cpp:3:1: error: invalid application of 'sizeof' to incomplete type 'boost::STATIC_ASSERTION_FAILURE<false>' main.cpp:3:1: error: template argu
C++0x では新しく allocator_traits というのが入るわけですが、このシグネチャはこうなってます。 namespace std { template <class Alloc> struct allocator_traits { typedef Alloc allocator_type; typedef typename Alloc::value_type value_type; typedef see below pointer; typedef see below const_pointer; typedef see below void_pointer; typedef see below const_void_pointer; typedef see below difference_type; typedef see below size_type; typed
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く