C++17ではstatic_assert
に文字列リテラルを取らないものが追加された。
static_assert( true ) ;
C++11で追加されたstatic_assert
には、文字列リテラルが必須だった。
static_assert( true, "this shall not be asserted." ) ;
特に文字列を指定する必要がない場合もあるので、文字列リテラルを取らないstatic_assert
が追加された。
機能テストマクロは__cpp_static_assert
, 値は201411。
C++11の時点で__cpp_static_assert
の値は200410。