論文の概要: Concept-Based Generic Programming in C++
- arxiv url: http://arxiv.org/abs/2510.08969v1
- Date: Thu, 09 Oct 2025 15:27:30 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-10-14 00:38:48.09368
- Title: Concept-Based Generic Programming in C++
- Title(参考訳): C++における概念ベースジェネリックプログラミング
- Authors: Bjarne Stroustrup,
- Abstract要約: 概念は、ジェネリックコードの制約を表現するC++の方法である。
最初の例として、狭めの変換を排除した単純な型システムを提案する。
概念は、型システムに対するユーザ定義の拡張を提供するために、全体にわたって使用されます。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: We present programming techniques to illustrate the facilities and principles of C++ generic programming using concepts. Concepts are C++'s way to express constraints on generic code. As an initial example, we provide a simple type system that eliminates narrowing conversions and provides range checking without unnecessary notational or run-time overheads. Concepts are used throughout to provide user-defined extensions to the type system. The aim is to show their utility and the fundamental ideas behind them, rather than to provide a detailed or complete explanation of C++'s language support for generic programming or the extensive support provided by the standard library. Generic programming is an integral part of C++, rather than an isolated sub-language. In particular, key facilities support general programming as well as generic programming (e.g., uniform notation for types, lambdas, variadic templates, and C++26 static reflection). Finally, we give design rationales and origins for key parts of the concept design, including use patterns, the relationship to Object-Oriented Programming, value arguments, notation, concept type-matching, and definition checking.
- Abstract(参考訳): 本稿では,概念を用いたC++ジェネリックプログラミングの仕組みと原理を説明するためのプログラミング手法を提案する。
概念は、ジェネリックコードの制約を表現するC++の方法である。
最初の例として、狭めの変換を排除し、不要な表記や実行時のオーバーヘッドを伴わずにレンジチェックを提供するシンプルな型システムを提供する。
概念は、型システムに対するユーザ定義の拡張を提供するために、全体にわたって使用されます。
目的は、汎用プログラミングのためのC++の言語サポートや、標準ライブラリが提供する広範なサポートについて、詳細で完全な説明を提供するのではなく、それらのユーティリティと基本的なアイデアを示すことである。
ジェネリックプログラミングは、独立したサブ言語ではなく、C++の不可欠な部分である。
特に重要な機能は、ジェネリックプログラミングだけでなく、ジェネリックプログラミングもサポートする(例えば、型、ラムダ、バリデードテンプレート、C++26静的リフレクション)。
最後に、パターンの使用、オブジェクト指向プログラミングとの関係、値引数、表記法、概念型マッチング、定義チェックなど、概念設計の重要な部分について、設計の合理性と原点を提供します。
関連論文リスト
- Action Language BC+ [3.677571687801579]
アクション言語は、アクションの効果を記述する自然言語の一部の形式モデルである。
我々は、アクション言語と現代のASP言語とのギャップを埋めるBC+と呼ばれる新しいアクション言語を提案する。
論文 参考訳(メタデータ) (2025-06-22T14:09:49Z) - ClassInvGen: Class Invariant Synthesis using Large Language Models [11.374431160444676]
ClassInvGenは実行可能なクラス不変量とテスト入力を共同生成するメソッドである。
ClassInvGenは、(コードから)仕様を生成するために純粋なLCMベースの技術より優れていることを示す。
また、広く使われている高積分C++内のいくつかのクラスについてケーススタディを行い、実世界のコードに適用可能であることを示す。
論文 参考訳(メタデータ) (2025-02-26T08:10:57Z) - Order-Sorted Intensional Logic: Expressing Subtyping Polymorphism with Typing Assertions and Quantification over Concepts [1.104960878651584]
サブタイプ多型(subtype polymorphism)は、プログラミング言語理論において広く研究されている概念である。
本稿では,これらの概念を知識表現の文脈で活用するための順序分類論理の能力について検討する。
論文 参考訳(メタデータ) (2025-02-13T11:51:22Z) - Compositional Program Generation for Few-Shot Systematic Generalization [59.57656559816271]
コンポジションプログラムジェネレータ(CPG)と呼ばれるニューロシンボリックアーキテクチャに関する研究
CPGには3つの重要な特徴がある: 文法規則の形で、テキストモジュラリティ、テキストコンポジション、テキストタストラクションである。
SCAN と COGS のベンチマークでは,SCAN の14例と COGS の22例を使用して,完全な一般化を実現している。
論文 参考訳(メタデータ) (2023-09-28T14:33:20Z) - Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation [61.50286000143233]
ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
論文 参考訳(メタデータ) (2023-04-28T01:47:09Z) - Representation and Synthesis of C++ Programs for Generalized Planning [2.752817022620644]
本稿では,GP(Generalized Planning)問題とその解決策をC++プログラムとして紹介する。
私たちのC++表現は、一般化された計画の終了を正式に証明し、その複雑さをw.r.tで指定することを可能にする。
C++一般化計画の複雑さを特徴づけることにより、複雑性の順に可能なGPソリューションの空間を列挙する探索の応用が可能になる。
論文 参考訳(メタデータ) (2022-06-29T09:13:21Z) - Identifying concept libraries from language about object structure [56.83719358616503]
自然言語記述を2Kプロシージャ生成オブジェクトの多種多様なセットに利用して,ユーザが使用する部分を特定する。
我々は、異なる部分概念を含むプログラムライブラリの空間の探索として、この問題を形式化する。
自然言語と構造化されたプログラム表現を組み合わせることで、人々が名前をつける部分概念を規定する基本的な情報理論的なトレードオフを発見する。
論文 参考訳(メタデータ) (2022-05-11T17:49:25Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。