タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

lambdaとconstexprに関するrydotのブックマーク (1)

  • もしlambda式がconstexprだったら

    lambda式がconstexprでない理由、いや、より正確には、クロージャーオブジェクトの変換関数がconstexpr関数ではない理由。 もし、constexprの場合は、SFINAEの文脈で使えてしまうからだ。lambda式の体には任意の文を書けるので、以下のような記述が可能だ。 template < typename T, void (*)() = [](){ // write whatever expressions that depends on T. // if any expression is ill-formed for T, substitution fails. } > void f( T ) ; C++11の規格策定の最終段階で、クロージャーオブジェクトの関数ポインターへの変換関数をconstexprにしようという議論がでたが、当時、筆者はこのコードを示して、SF

  • 1