C++ 0xについてのこの新しい(on /。)はもう概念を持たないと聞いたことがありますが、私はそれらが何であるか分かりません。誰かが私に説明することはできますか?ここで概念とは何ですか?
22
A
答えて
25
概念テンプレートコードを書く誰かが型パラメータを満たすために必要な要件を指定することができ、一般的なプログラミング機能です。
たとえば、一部のコレクションタイプでは、コレクションのtypeパラメータに<演算子を定義する必要があります。したがって、プログラマはLessThanComparableというコンセプトを定義することができます。コンセプトを定義すると、テンプレート化されたクラスの型パラメータに演算子<が定義されている必要があります。テンプレートユーザがLessThanComparableコンセプトを持たないタイプ(すなわちオペレータ<を持たないタイプ)を使用してテンプレートをインスタンス化しようとすると、コンパイラはテンプレートコードに関連するエラーメッセージの激流ではなく単純なエラーメッセージを出すことができます。コンパイラは、より効率的なコードを生成するために概念によって提供される追加の情報を利用することもできます。
これはあまり単純すぎますが、概念の背後にある一般的な考え方を示していると思います。
概念の機能のいくつかを試したい場合は、Boost.Conceptチェックライブラリをご覧ください。私はそれが標準になるだろう能力のフルレンジを提供するとは思わないが、それは始めるのが良い場所だ。
ConceptC++をご覧になることもできますが、ここには概念の定義があります。
10
は私が役立つだろうと思うの記事です:
http://www.devx.com/SpecialReports/Article/38864
それらを削除するという決定は、同様にSOでここ何回か議論されています。これらは興味深い証明するかもしれない:
関連する問題
- 1. CNTKTextFormatDeserializerの概念とは何ですか?
- 2. オブジェクトパーシスタンスの概念は何ですか?
- 3. 概念的には、Android StudioのLogcatとは何ですか?
- 4. 論理データモデルと概念データモデルの違いは何ですか?
- 5. express req.localsとres.localsの概念的なベストプラクティスは何ですか?
- 6. ドメインモデルと概念モデルの違いは何ですか
- 7. Anecessと同等の概念を持つAnstatesは何ですか?
- 8. このURL文字列の概念とは何ですか?
- 9. binとgenの概念の違いは何ですか?
- 10. sqlite概念からcoredata概念へ?
- 11. この概念は何と呼ばれていますか?
- 12. ここで使用するpreg_matchの概念は何ですか?
- 13. .NETでのアセンブリの概念は何ですか?
- 14. Javaでhandleの概念は何ですか?
- 15. 概念 - javaとandroid
- 16. 概念
- 17. HEAD、master、originのgitの概念は何ですか?
- 18. FCN(セマンティックセグメンテーション)用のミニバッチの概念は何ですか?
- 19. Androidのデータベースの概念は何ですか?
- 20. dartのスナップショットの概念は何ですか?
- 21. Bスプライン曲線の次数の概念は何ですか?
- 22. 分散システムにおけるAmbassadorの概念は何ですか?
- 23. コトリンの意図の概念は何ですか?
- 24. Photon Unity Networkingのロビーとルームという概念の違いは何ですか?
- 25. Google Bigtableはマルチテナントデータベースの概念ですか?
- 26. セッションIDをクッキーに保存するという概念は何ですか?
- 27. 移転の概念は何を意味していますか?
- 28. Callable概念とstd :: is_function型形質の違いは何ですか?
- 29. .vagrantと.vagrant.dディレクトリの論理的/概念的な違いは何ですか?
- 30. Magento:Quote ItemとQuote Address Itemの概念の違いは何ですか?
これは、EBGreenのリンクとほぼ同じです。奇妙な偶然の一致? – jkeys
本当にありません。私はその記事がほぼ1年前に最初に出版されたときにその記事を読んだ。私は情報を保持する能力を持っています:-) – Ferruccio
素晴らしい答え。これはC++に関する質問の1つでした。私は恐れていました。 – chester89