コンテンツにスキップ

More C++ Idioms/Contents

出典: フリー教科書『ウィキブックス(Wikibooks)』

目次

[編集]
進捗状況の凡例
数行の文章か目次があります。
:本文が少しあります。
:本文が半分ほどあります。
: 間もなく完成します。
: 一応完成しています。

注意: 各イディオムの別名は括弧内に列挙されている。

  1. Adapter Template
  2. Address Of
  3. 代数的階層(Algebraic Hierarchy)
  4. Attach by Initialization
  5. Barton-Nackman トリック(Barton-Nackman trick)
  6. メンバによる基本クラスの初期化(Base-from-Member)
  7. Boost mutant
  8. 初期化中の仮想関数呼び出し(Calling Virtuals During Initialization)
  9. 能力照会(Capability Query)
  10. チェック付きdelete(Checked delete)
  11. 空にして最小化(Clear-and-minimize)
  12. メンバテンプレートによる型変換(Coercion by Member Template)
  13. コンパイル時制御構造(Compile Time Control Structures)
  14. Computational Constructor
  15. 具象データ型(Concrete Data Type)
  16. Const auto_ptr
  17. 初回使用時生成(Construct On First Use)
  18. 生成の追跡(Construction Tracker)
  19. コピーして swap(Copy-and-swap)
  20. Copy-on-write
  21. 計数ボディ(侵襲的参照回数計測)(Counted Body (intrusive reference counting))
  22. 奇妙に再帰したテンプレートパターン(Curiously Recurring Template Pattern)
  23. 独立計数ボディ(非侵襲的参照回数計測)(Detached Counted Body (non-intrusive reference couting))
  24. Empty Base Optimization
  25. Emulated Exception
  26. enable-if
  27. 封筒・便箋(Envelope Letter)
  28. 消去・削除(Erase-Remove)
  29. Examplar
  30. ポインタ参照前後での実行(Execute-Around Pointer)
  31. Export Guard Macro
  32. 式テンプレート(Expression-template)
  33. Fake Vtable
  34. 高速 Pimpl(Fast Pimpl)
  35. Final Class
  36. Forward Declare First
  37. Free Function Allocators
  38. Friendship and the Attorney-Client
  39. Function Object
  40. 汎用コンテナ作成用イディオム(Generic Container Idioms)
  41. Pimpl (ハンドル・ボディ(Handle Body), コンパイル防壁(Compilation Firewall), チェシャ猫(Cheshire Cat))
  42. インクルードガードマクロ(Include Guard Macro)
  43. inline ガードマクロ(Inline Guard Macro)
  44. 内部クラス(Inner Class)
  45. 整数から型(Int-To-Type)
  46. インタフェースクラス(Interface Class)
  47. 反復子対(Iterator Pair)
  48. friend 関数の生成(Making New Friends)
  49. メタ関数(Metafunction)
  50. 所有権移動コンストラクタ(Move Constructor)
  51. 複文マクロ(Multi-statement Macro)
  52. Multiple Member Initialization
  53. 名前付きコンストラクタ(Named Constructor)
  54. Named External Argument
  55. Named Loop
  56. 名前付きパラメータ(Named Parameter)
  57. 名前付きテンプレートパラメータ(Named Template Parameters)
  58. 小粋なカウンタ(Nifty Counter) (シュワルツカウンタ(Schwarz Counter))
  59. コピー禁止ミックスイン(Non-copyable Mixin)
  60. Non-member get
  61. 非メンバ非フレンド関数(Non-member Non-friend Function)
  62. throw しない swap(Non-throwing swap)
  63. 非仮想インタフェース(Non-Virtual Interface) (public な多重定義非仮想関数による protected な非多重定義仮想関数の呼び出し(Public Overloaded Non-Virtuals Call Protected Non-Overloaded Virtuals))
  64. nullptr
  65. オブジェクト生成器(Object Generator)
  66. Object Template
  67. Overload Set Creation
  68. パラメータ化された基本クラス(Parameterized Base Class) (パラメータ化された継承(Parameterized Inheritance))
  69. メタ関数ラッパ(Meta-function wrapper)
  70. ポリシーの複製(Policy Clone) (メタ関数ラッパ(Meta-function wrapper))
  71. ポリシーに基づくクラス設計(Policy-based Class Design)
  72. 多態的例外(Polymorphic Exception)
  73. Recursive Type Composition
  74. リソース獲得は初期化である(Resource Acquisition Is Initialization) (RAII, オブジェクト生存期間前後での実行(Execute-Around Object), スコープ内ロック(Scoped Locking))
  75. リソースの返値(Resource Return)
  76. Return Type Resolver
  77. 実行時の静的初期化順序に関するイディオム(Runtime Static Initialization Order Idioms)
  78. 安全な bool(Safe bool)
  79. スコープ防壁(Scope Guard)
  80. 置き換え失敗はエラーにあらず(Substitution Failure Is Not An Error(SFINAE))
  81. Shortening Long Template Names
  82. 縮めて合わせる(Shrink-to-fit)
  83. Small Object Optimization
  84. スマートポインタ(Smart Pointer)
  85. Storage Class Tracker
  86. タグによる分配(Tag Dispatching)
  87. Temporary Base Class
  88. The result_of technique
  89. 薄いテンプレート(Thin Template)
  90. Trailing Parens for Method Chaining for Named parameter
  91. 特性(Traits)
  92. Type Erasure
  93. 型生成器(Type Generator) (テンプレート化された typedef(Templated Typedef))
  94. Type Safe Enum
  95. Type Selection
  96. 仮想コンストラクタ(Virtual Constructor)
  97. 仮想フレンド関数(Virtual Friend Function)