Cpp Coding Standards

affaan-m/ECC/docs/ja-JP/skills/cpp-coding-standards

作者 affaan-mef648e01899ba3e8dc6371642deaaf64b4477775無授權條款275K 個星標收錄於 2026年10月9日更新於 2026年10月9日儲存庫4 天前更新

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

AI 產生的概覽

提供以 C++ 核心準則為基礎的現代 C++ 編碼標準,用於撰寫、審查與重構 C++ 程式碼。

功能
此技能提供一套以 C++ 核心準則為基礎的現代 C++(C++17/20/23)編碼標準,強調型別安全、資源安全、不變性與清晰性。它列出貫穿性原則,例如 RAII、預設不可變,以及值語意與指標語意,並提供關鍵規則表,包括 P.1、P.3、P.4、P.5、P.8、P.10、I.1、I.2 與 I.4。它也涵蓋智慧指標與所有權指引,包括 std::unique_ptr、std::shared_ptr 與 std::weak_ptr。它僅包含說明,不含指令碼或產生的成品。
適用情境
適用於撰寫新的 C++ 程式碼(例如類別、函式或樣板),或審查與重構現有的 C++ 程式碼。也適合在 C++ 專案中進行架構決策、在整個程式碼庫中落實一致的風格,以及在語言特性之間做選擇,例如 enum 與 enum class、原始指標與智慧指標。
執行需求
不需要任何工具、套件、執行環境、認證或網路存取;它僅包含說明,不附帶指令碼。

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. 値セマンティクス対ポインタセマンティクス:値で返すか、スコープ付きオブジェクトを好む

主要なルール

RuleSummary
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> 循環参照を回避するため

來源與署名

來源:affaan-m/ECC位於docs/ja-JP/skills/cpp-coding-standards提交ef648e0

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架