問題タブ [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.
c++ - C++ Concepts TS に変数と関数の両方の概念があるのはなぜですか?
GCC 6 で実装されている C++1z N4377 Concepts TS ドラフトを見てきましたが、変数の概念と関数の概念という 2 つの異なる種類の概念を持つ目的がわかりません。
関数概念のドラフトの関連部分は [dcl.spec.concept (5.4)] です。
{ return E; }
宣言には、 whereE
is a constraint-expression (14.10.1.3)と同等の関数本体が必要です。
変数の概念については、次の段落で [(6.3)] :
- 初期化子は制約式でなければなりません。
どちらかができて、もう一方ができないことはありますか? そうでない場合、両方を含める理由はありますか?
注: 最新のドラフトP0121R0では、この点に関して何も変更されていません。
c++ - クラス テンプレート パラメータ Proj とクラス テンプレート IndirectUnaryPredicate の範囲 TS の目的は何ですか?
Cpp-referenceは、(実験的な) 範囲 TS からの次の関数テンプレート (とりわけ) を示しています。
テンプレート パラメータProj
は と組み合わせて何に使用できますIndirectUnaryPredicate
か?