問題タブ [c++-ts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
215 参照

c++ - C++ Concepts TS に変数と関数の両方の概念があるのはなぜですか?

GCC 6 で実装されている C++1z N4377 Concepts TS ドラフトを見てきましたが、変数の概念と関数の概念という 2 つの異なる種類の概念を持つ目的がわかりません。

関数概念のドラフトの関連部分は [dcl.spec.concept (5.4)] です。

  • { return E; }宣言には、 where Eis a constraint-expression (14.10.1.3)と同等の関数本体が必要です。

変数の概念については、次の段落で [(6.3)] :

  • 初期化子は制約式でなければなりません。

どちらかができて、もう一方ができないことはありますか? そうでない場合、両方を含める理由はありますか?

注: 最新のドラフトP0121R0では、この点に関して何も変更されていません。

0 投票する
1 に答える
53 参照

c++ - クラス テンプレート パラメータ Proj とクラス テンプレート IndirectUnaryPredicate の範囲 TS の目的は何ですか?

Cpp-referenceは、(実験的な) 範囲 TS からの次の関数テンプレート (とりわけ) を示しています。

テンプレート パラメータProjは と組み合わせて何に使用できますIndirectUnaryPredicateか?