タグ

C++0xと例外に関するtyruのブックマーク (1)

  • noexcept operator

    ふときがつくと、noexcept operatorなるものが追加されていた。これは、オペランドの式が、例外を投げそうな式を含む場合、falseを返す演算子である。結果はもちろん、定数だ。つまり、メタプログラミングに使える。オペランドの式は、評価されない。 void f() noexcept; void g() ; noexcept( f() ) ; // true noexcept( g() ) ; // false noexcept( throw 0 ) ; // false // ポリモーフィック型 struct Base { virtual void f() {} } ; struct Derived : Base { } ; Base base ; noexcept( dynamic_cast<Derived &>(base) ) ; // false noexcept( type

  • 1