Skip to main content

cpp-coding-standards

C++コアガイドラインに基づくC++コーディング標準(isocpp.github.io)。現代的で安全で慣用的なプラクティスを強制するためにC++コードを書き、レビュー、またはリファクタリングする場合に使用します。

来源信息

仓库
affaan-m/ECC
最近来源活动
2026年5月17日 06:31
检测到的 SKILL.md 语言
日语
星标
276,549
分支
41,243

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
cpp-coding-standards
description
C++コアガイドラインに基づくC++コーディング標準(isocpp.github.io)。現代的で安全で慣用的なプラクティスを強制するためにC++コードを書き、レビュー、またはリファクタリングする場合に使用します。
origin
ECC
# C++コーディング標準(C++コアガイドライン) C++コアガイドラインから派生した最新のC++(C++17/20/23)の包括的なコーディング標準。タイプセーフティ、リソースセーフティ、不変性、明確性を強制します。 ## 使用時期 - 新しいC++コードを書く(クラス、関数、テンプレート) - 既存のC++コードをレビューまたはリファクタリング - C++プロジェクトでアーキテクチャ決定を行う - C++コードベース全体で一貫性のあるスタイルを実施 - 言語機能の選択(例:`enum` vs `enum class`、生ポインタ対スマートポインタ) ## クロスカッティング原則 これらのテーマはガイドライン全体に繰り返され、基礎を形成: 1. **至るところにRAII**:リソースライフタイムをオブジェクトライフタイムにバインド 2. **デフォルトで不変性**:`const`/`constexpr`で開始;変更可能性は例外 3. **タイプセーフティ**:型システムを使用してコンパイル時にエラーを防止 4. **意図を表現**:名前、タイプ、概念は目的を伝える必要があります 5. **複雑性を最小化**:シンプルなコードが正しいコード 6. **値セマンティクス対ポインタセマンティクス**:値で返すか、スコープ付きオブジェクトを好む ## 主要なルール | Rule | Summary | |------|---------| | **P.1** | コード内のアイデアを直接表現 | | **P.3** | 意図を表現 | | **P.4** | 理想的には、プログラムは静的にタイプセーフである必要があります | | **P.5** | ランタイムチェックに対するコンパイル時チェック | | **P.8** | リソースをリークしない | | **P.10** | 変更可能なデータより不変データを好む | | **I.1** | インターフェースを明示的にする | | **I.2** | 非const グローバル変数を避ける | | **I.4** | インターフェースを正確にし、強く型付けされたものにする | ## スマートポインタと所有権 現代的なC++では、生ポインタの代わりにスマートポインタを使用: - `std::unique_ptr<T>` 単一所有者向け - `std::shared_ptr<T>` 共有所有権向け - `std::weak_ptr<T>` 循環参照を回避するため
在 GitHub 查看