問題タブ [c++-concepts]

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 投票する
2 に答える
418 参照

c++ - 概念のキャストに相当するものは何ですか?

aが と のclass A2 つの概念を満たすConceptAとしConceptBます。foo2 つの概念のために関数をオーバーロードします。

注: この例では、 N3701、 §5の一部として提案されている「Terse Notation」構文を使用しています。

concept_castユーザーがオーバーロードを選択できるようなものはありますか?

例: ConceptAT にはメンバー関数が必要であり、bar() ConceptBT にはメンバー関数が必要baz() であり、とメンバー関数class Aの両方があるとします。bar()baz()

static_cast明らかにあいまいですが、通常のオーバーロードのように明示的に選択する方法はありますか?

更新:受け入れられた回答は2年以上前のものです。c++17 の更新はありますか?

0 投票する
2 に答える
2316 参照

c++ - Concepts-Lite は可変個引数テンプレートとどのように相互作用しますか?

私は、 Going Native 2013で Bjarne Strustrup の講演を見ました。彼は、C++ の今後の概念ライト機能について次の例を示しています。

私の質問は、これが可変個引数テンプレートでどのように機能するかです。

概念maximumを使用して可変引数関数を定義したいとします。Comparable次の構文は受け入れられますか?

その場合Comparable...、パラメーター パック内のすべての要素が同じ型であるか、パックにと?Comparableの両方を含めることができるようにすべての型であることを意味します。(どちらも比較可能ですが、互いにではありません)intstring

好奇心旺盛な人は知りたがっています。

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

c++ - クラスは概念をモデル化しますか? (コンセプトから特性、またはその逆)

どうやら私は明らかな何かを見逃しているようです.SFINAEで最も可能性が高いですが、私の人生では、「それ」が何であるかを見つけることができません. 親知らずのせいにすることもできますが、それは知恵に関するものなので奇妙に聞こえるでしょ...

C++ では、概念 (Boost、Lite など) を使用する場合REQUIRES(list_of_concepts)、たとえば、関数呼び出しの型は " BidirectionalIteratorAccess" のような概念に従います。しかし、この機能に対応する「クエリ」コンポーネントは何ですか? 基本的に、クラス型 T がモデル化されているかどうかを確認するにはどうすればよいですBidirectionalIteratorAccessか?

私が知っているのは、私が探していない、REQUIRESまたはBOOST_CONCEPT_ASSERTそれらが真またはコンパイルエラーであるためです。のように、真か偽かの何かを探していますtype_traits。Boost.Concept Assert などのドキュメントでは、次のようなもので SFINAE チェックを使用することが示唆されていますnot_satisfied<Concept>が、そうであれば、何らかの理由でどの部分がどこにあるのかわかりません。SFINAE テストは次のようになると推測できます。

…いったい、どのような馬鹿が親知らずと名付けたのですか?そして、なぜ私は脱線したのですか?

0 投票する
5 に答える
606 参照

c++ - 比較が完全なオブジェクトの状態を比較しない通常の型の概念名はありますか?

次のようなタイプのセットがあります。

つまり、オブジェクトの状態の特定の部分のみが比較対象となります。この例では、MyFlag オブジェクトは ID を使用して他のオブジェクトと比較されますが、含まれる残りのデータは比較されません。

Sean Parent が「値の型」について与えた定義と一致すると思いますが、これは奇妙でなじみのない (しかし私の場合は役立つ) パターンだとも思います。

だから私の質問は:この...概念の概念名はありますか?


そのようなタイプはどのように役立ちますか?私はこの種の型を「ブラック ボード」イベント システムで使用します。これは基本的に、少なくとも規則的な型を持つ任意の値の一種のセットです。ただし、このブラック ボードは、プッシュされた (挿入された) 値が既に見つかっていても (比較によって) 体系的に上書きします。このようにして、比較演算子を識別子として使用して、ブラック ボードの値の完全な状態を上書きします。

それがよく知られたパターンやアイデアなのか、それとも長期的に問題があるのか​​ はわかりません。これまでのところ、非常に役に立ちました。また、「頭が良すぎる」ようにも感じますが、それを確認するには、このパターンの経験が不足しています。比較演算子の使い方を悪用しているのかもしれませんが、これらの型のセマンティクスは私の使い方では正しいと感じています。

必要に応じて、詳細な使用例を提供できます。

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

c++ - C++ 技術仕様とは?

Concepts-lite C++ (提案 N3701) の機能は C++1y 標準には含まれていませんが、技術仕様として公開される予定です。正確にはどういう意味ですか?次の C++ リリースで自動的に標準機能になるのでしょうか?

0 投票する
3 に答える
354 参照

c++ - C++ の概念 (今後の機能) の代わりとして何を使用しますか?

C++ の概念 (今後の機能) の代わりとして何を使用しますか?

C++ の概念について聞いたことがあるかもしれません。テンプレートで型の要件を指定できるようにする機能です。

私は今、これを行う方法を探しています。私が見つけた最良の方法は、次のように static_assert と一緒に述語を使用する Stroustrup の本にあります。

他の方法を使用している場合、またはこの方法に問題がある場合はお知らせください。

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

c++ - オブジェクト指向の概念を学習するための C++ の良い例はどこにありますか?

私は、C++ で実際の例を研究することによって、オブジェクト指向の概念を学ぼうとしています。この例は、継承、カプセル化、オーバーロード、ポリモーフィズムなどのすべての概念を示しているはずです。

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

static - 関数パラメーターを静的にできない理由

なぜ関数のパラメーターを にできないのか教えてくださいstaticStackこれは、関数パラメータが宣言され、関数が戻るときに割り当てが解除される理由ですか? パラメータ値を保持する方法はありませんか? ただ混乱した。どうか明らかにしてください。

ありがとう。