constexpr の検索結果:

Committee Draftへのコメント一覧

C++

…on は案ください。constexprに再帰を許可してほしい人は動機とサンプルください。ラムダ式をきもいと思う人は代案ください。 ちなみに、アドホック会議の残り参加枠は3人です。 更新履歴 ・2008/11/26 18:00 コメント追加(26〜27) ・2008/11/26 19:10 コメント追加(28〜41)、文字大きくした ・2008/11/27 11:35 コメント追加(42)、id:MaDさんから指摘のあったdecltypeの修正要望を訂正 ・2008/11/27…

VC++10 CTPで遊んでます

C++

… Literal ・constexpr ・Strongly Typed Enums ・メンバ初期化子 ・Defaulted and Deleted Functions ・新たな関数宣言構文(autoも[]もできない) ・委譲コンストラクタ ・explicit conversion ・関数テンプレートのデフォルトテンプレート引数 標準ライブラリは全然対応してないですね。 (TR1は当然入ってるけどstd::tr1名前空間) initializer_listやコンセプトはまだ採択…

C++0x SFINAE問題の解決

C++

…ecltype や constexpr などの新機能の追加により状況が変わりました。 (このままにしておくと問題がもっと大きくなる) そのため、 SFINAE の扱いを明確にするために、 SFINAE failure ではないエラーを列挙することになりました。 ・式の外部の構成要素(テンプレートのインスタンス化、暗黙に宣言されるコピーコンストラクタ)の生成中に発生するエラー ・実装制限によるエラー ・アクセス違反によるエラー この SFINAE 仕様の明確化により、今まで曖昧…

C++0x chrono - time_point

C++

…); static constexpr time_point min(); static constexpr time_point max(); }; } } ※ epoch(エポック) というのは、初期時間のことを言うそうです。1970年とか。 time_point は clock と duration を持っていますが、 clock をメンバ変数には保持しません。これは 2 つの目的で役に立ちます。 1. 異なる clock から始まる time_point が異なる型を…

C++0x chrono - duration

C++

…); static constexpr duration zero(); static constexpr duration min(); static constexpr duration max(); }; template <class Rep1, class Period1, class Rep2, class Period2> bool operator==(const duration<Rep1, Period1>& lhs, const duration<Rep…

C++0x メタ関数のラップ

C++

… からはメタ関数を constexpr と Template Aliases でラップすることでより短く書くことができる constexpr で値を返すメタ関数をラップ template <int N> struct hoge_ { static const int value = N; }; constexpr int hoge(int n) { return hoge_<n>::value; } cout << hoge_<3>::value << endl; // C+…

C++0x ユーザー定義リテラル

C++

…とすることができる template <char...> X operator""suffix(); X x = 1234suffix; // operator""suffix<'1', '2', '3', '4'>(); constexpr を使用することで、リテラル計算の結果をコンパイル時定数とすることもできる N2378 - User-defined Literals (aka. Extensible Literals (revision 3))C++0x言語拡張まとめ

C++0xの言語拡張まとめ(※随時更新)

…パイル時アサート ・constexpr(前編, 後編) 定数式 ・ラムダ式 匿名関数オブジェクトを生成するための式 ・Variadic Templates, Variadic Template Template Parameters 可変引数テンプレート ・Strongly Typed Enums スコープと強力な型付けを持ったenum ・enumの先行宣言を許可 ・列挙子の最後のカンマ ・メンバ初期化子(auto許可?) メンバ変数の新たな初期化 ・Defaulted an…

C++0x - 続・constexpr

C++

constexprは、コンパイル時に実行される関数としてだけではなく 定数値としても使用できる constexpr double radius = 3.0; constexpr double pi = 3.14; constexpr int array_max = 3; int ar[array_max]; // int ar[3]; さよならマクロ C++0x言語拡張まとめ

C++0x - constexpr

C++

…<class T> constexpr bool is_pointer(T*) { return true; } template <> constexpr bool is_pointer(...) { return false; } int *p; static_assert(is_pointer(p), "not pointer"); 浮動小数点数の計算もコンパイル時にできるようになりますね constexpr double circle_area(double radi…