More C++ Idioms

edit]

Note: synonyms for each idiom are listed in parentheses.

  1. Address Of *More C++ Idioms*
  2. Algebraic Hierarchy *More C++ Idioms*
  3. Attach by Initialization *More C++ Idioms*
  4. Attorney-Client *More C++ Idioms*
  5. Barton-Nackman trick *More C++ Idioms*
  6. Base-from-Member *More C++ Idioms*
  7. Boost mutant *More C++ Idioms*
  8. Calling Virtuals During Initialization *More C++ Idioms*
  9. Capability Query *More C++ Idioms*
  10. Checked delete *More C++ Idioms*
  11. Clear-and-minimize *More C++ Idioms*
  12. Coercion by Member Template *More C++ Idioms*
  13. Computational Constructor *More C++ Idioms*
  14. Concrete Data Type *More C++ Idioms*
  15. Construct On First Use *More C++ Idioms*
  16. Construction Tracker *More C++ Idioms*
  17. Copy-and-swap *More C++ Idioms*
  18. Copy-on-write *More C++ Idioms*
  19. Intrusive reference counting (Counted Body) *More C++ Idioms*
  20. Covariant Return Types TODO
  21. Curiously Recurring Template Pattern (CRTP) *More C++ Idioms*
  22. Empty Base Optimization (EBO) *More C++ Idioms*
  23. enable-if *More C++ Idioms*
  24. Erase-Remove *More C++ Idioms*
  25. Execute-Around Pointer *More C++ Idioms*
  26. Exploding Return Type TODO
  27. Export Guard Macro TODO
  28. Expression-template *More C++ Idioms*
  29. Fake Vtable TODO
  30. Fast Pimpl *More C++ Idioms* TODO
  31. Final Class *More C++ Idioms*
  32. Free Function Allocators*More C++ Idioms*
  33. Function Object TODO
  34. Generic Container Idioms *More C++ Idioms*
  35. Hierarchy Generation TODO
  36. Implicit conversions TODO
  37. Include Guard Macro *More C++ Idioms*
  38. Inline Guard Macro *More C++ Idioms*
  39. Inner Class *More C++ Idioms*
  40. Int-To-Type *More C++ Idioms*
  41. Interface Class *More C++ Idioms*
  42. Iterator Pair *More C++ Idioms*
  43. Making New Friends *More C++ Idioms*
  44. Metafunction *More C++ Idioms*
  45. Move Constructor *More C++ Idioms*
  46. Multi-statement Macro *More C++ Idioms*
  47. Member Detector *More C++ Idioms*
  48. Named Constructor *More C++ Idioms*
  49. Named External Argument TODO
  50. Named Loop (labeled loop) *More C++ Idioms*
  51. Named Parameter *More C++ Idioms*
  52. Named Template Parameters TODO
  53. Nifty Counter (Schwarz Counter) *More C++ Idioms*
  54. Non-copyable Mixin *More C++ Idioms*
  55. Non-member Non-friend Function *More C++ Idioms* TODO
  56. Non-throwing swap *More C++ Idioms*
  57. Non-Virtual Interface (NVI, Public Overloaded Non-Virtuals Call Protected Non-Overloaded Virtuals) *More C++ Idioms*
  58. nullptr *More C++ Idioms*
  59. Object Generator *More C++ Idioms*
  60. Object Template TODO
  61. Parameterized Base Class (Parameterized Inheritance) *More C++ Idioms*
  62. Pimpl (Handle Body, Compilation Firewall, Cheshire Cat) *More C++ Idioms*
  63. Policy Clone (Metafunction wrapper) *More C++ Idioms*
  64. Policy-based Design TODO
  65. Polymorphic Exception *More C++ Idioms*
  66. Polymorphic Value Types *More C++ Idioms* TODO
  67. Recursive Type Composition TODO
  68. Requiring or Prohibiting Heap-based Objects
  69. Resource Acquisition Is Initialization (RAII, Execute-Around Object, Scoped Locking) *More C++ Idioms*
  70. Resource Return *More C++ Idioms*
  71. Return Type Resolver *More C++ Idioms*
  72. Runtime Static Initialization Order Idioms *More C++ Idioms*
  73. Safe bool *More C++ Idioms*
  74. Scope Guard *More C++ Idioms*
  75. Substitution Failure Is Not An Error (SFINAE) *More C++ Idioms*
  76. Shortening Long Template Names TODO
  77. Shrink-to-fit *More C++ Idioms*
  78. Small Object Optimization TODO
  79. Smart Pointer *More C++ Idioms*
  80. Storage Class Tracker TODO
  81. Tag Dispatching *More C++ Idioms* TODO
  82. Temporary Base Class *More C++ Idioms*
  83. Temporary Proxy *More C++ Idioms*
  84. The result_of technique TODO
  85. Thin Template *More C++ Idioms*
  86. Traits *More C++ Idioms* TODO
  87. Type Erasure *More C++ Idioms*
  88. Type Generator (Templated Typedef) *More C++ Idioms*
  89. Type Safe Enum *More C++ Idioms*
  90. Type Selection *More C++ Idioms*
  91. Virtual Constructor *More C++ Idioms*
  92. Virtual Friend Function *More C++ Idioms*

edit]

These are some more advanced C++ idioms.

  1. Envelope Letter *More C++ Idioms* TODO

Ref

https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms

相关文章: