More C++ Idioms

Table of Contents

Note: synonyms for each idiom are listed in parentheses.

  1. Adapter Template TODO
  2. Address Of 75% developed  as of 9 Oct 2011                             Readed,没啥用
  3. Algebraic Hierarchy 75% developed  as of 12 June 2008   Readed,没啥用
  4. Attach by Initialization 75% developed  as of 22 Oct 2011 Readed,没啥用
  5. Attorney-Clie  nt 75% developed  as of 9 Oct 2011 有点用
  6. Barton-Nackman trick 75% developed  as of 21 Feb 2011
  7. Base-from-Member 75% developed  as of 6 August 2007
  8. Boost muta  nt 75% developed  as of 9 May 2010 有点意思,实现了一个reverse
  9. Calling Virtuals During Initialization 75% developed  as of 6 August 2007 有点意思,用template做的,但是和virtual函数没关系吧,并且必须要求static定义
  10. Capability Query 100% developed  as of 21 Feb 2011
  11. Checked delete 75% developed  as of 15 August 2007
  12. Clear-and-minimize 75% developed  as of 10 August 2007
  13. Coercion by Member Template 100% developed  as of 14 August 2007
  14. Computational Constructor 75% developed  as of 9 Oct 2011
  15. Concrete Data Type 75% developed  as of 17 March 2008
  16. Const auto_ptr 75% developed  as of 15 August 2007
  17. Construct On First Use 75% developed  as of 6 August 2007
  18. Construction Tracker 75% developed  as of 6 August 2007
  19. Copy-and-swap 75% developed  as of 10 August 2007 For operator=。 有用
  20. Copy-on-write 100% developed  as of 20 May 2009
  21. Intrusive reference counting (Counted Body) 75% developed  as of 16 November 2007
  22. Covariant Return Types TODO
  23. Curiously Recurring Template Pattern (CRTP) 75% developed  as of 6 August 2007
  24. Non-intrusive reference counting (Detached Counted Body) 0% developed  as of 2nd March 2011 TODO
  25. Empty Base Optimization (EBO) 75% developed  as of 9 Oct 2011
  26. enable-if 75% developed  as of 21 Feb 2011              有用,but VS.net not support
  27. Envelope Letter 75% developed  as of 1 February 2008 TODO
  28. Erase-Remove 75% developed  as of 17 November 2007       有用
  29. Execute-Around Pointer 75% developed  as of 6 August 2007
  30. Exploding Return Type TODO
  31. Export Guard Macro TODO
  32. Expression-template 75% developed  as of 6 August 2007 有用,表达式模板,用来延迟求值,生成树
  33. Fake Vtable TODO
  34. Fast Pimpl 0% developed  as of 6 August 2007 TODO
  35. Final Class 75% developed  as of 10 May 2010   有用
  36. Free Function Allocators75% developed  as of 18 June 2014
  37. Function Object TODO
  38. Generic Container Idioms 75% developed  as of 22 November 2007 有用,但不大
  39. Hierarchy Generation TODO
  40. Include Guard Macro 75% developed  as of 3 November 2007
  41. Inline Guard Macro 75% developed  as of 3 November 2007
  42. Inner Class 75% developed  as of 31 August 2007
  43. Int-To-Type 75% developed  as of 21 September 2008
  44. Interface Class 75% developed  as of 6 January 2008
  45. Iterator Pair 100% developed  as of 28 October 2007
  46. Making New Friends 75% developed  as of 5 January 2008
  47. Metafunction 75% developed  as of 15 September 2008
  48. Move Constructor 100% developed  as of 13 August 2007
  49. Multi-statement Macro 75% developed  as of 16 February 2008
  50. Member Detector 75% developed  as of 10 May 2010
  51. Named Constructor 75% developed  as of 28 September 2008
  52. Named External Argument TODO
  53. Named Loop (labeled loop) 75% developed  as of 9 May 2010
  54. Named Parameter 75% developed  as of 11 May 2010 有用,
  55. Named Template Parameters TODO
  56. Nifty Counter (Schwarz Counter) 75% developed  as of 6 August 2007
  57. Non-copyable Mixin 75% developed  as of 6 August 2007
  58. Non-member Non-friend Function 0% developed  as of 10 March 2008 TODO
  59. Non-throwing swap 75% developed  as of 9 January 2008
  60. Non-Virtual Interface (NVI, Public Overloaded Non-Virtuals Call Protected Non-Overloaded Virtuals) 75% developed  as of 12 June 2008
  61. nullptr 75% developed  as of 3 November 2007
  62. Object Generator 75% developed  as of 14 September 2008
  63. Object Template TODO
  64. Parameterized Base Class (Parameterized Inheritance) 75% developed  as of 6 August 2007
  65. Pimpl (Handle Body, Compilation Firewall, Cheshire Cat) 0% developed  as of 2nd March 2011
  66. Policy Clone (Metafunction wrapper) 100% developed  as of 14 August 2007
  67. Policy-based Design TODO
  68. Polymorphic Exception 75% developed  as of 28 September 2008
  69. Polymorphic Value Types 0% developed  as of 24 June 2012 TODO
  70. Recursive Type Composition TODO
  71. Requiring or Prohibiting Heap-based Objects
  72. Resource Acquisition Is Initialization (RAII, Execute-Around Object, Scoped Locking) 100% developed  as of 6 November 2007
  73. Resource Return 75% developed  as of 3 November 2007
  74. Return Type Resolver 75% developed  as of 10 May 2010
  75. Runtime Static Initialization Order Idioms 75% developed  as of 6 August 2007
  76. Safe bool 75% developed  as of 6 August 2007
  77. Scope Guard 100% developed  as of 14 August 2007
  78. Substitution Failure Is Not An Error (SFINAE) 75% developed  as of 12 May 2012
  79. Shortening Long Template Names TODO
  80. Shrink-to-fit 75% developed  as of 10 August 2007
  81. Small Object Optimization TODO
  82. Smart Pointer 75% developed  as of 17 November 2007
  83. Storage Class Tracker TODO
  84. Tag Dispatching 0% developed  as of 21 October 2007 TODO
  85. Temporary Base Class 75% developed  as of 6 August 2007
  86. Temporary Proxy 75% developed  as of 6 August 2007
  87. The result_of technique TODO
  88. Thin Template 75% developed  as of 6 August 2007
  89. Traits 0% developed  as of 21 October 2007 TODO
  90. Type Erasure TODO
  91. Type Generator (Templated Typedef) 75% developed  as of 14 September 2008
  92. Type Safe Enum 75% developed  as of 11 May 2010
  93. Type Selection 75% developed  as of 9 May 2010
  94. Virtual Constructor 75% developed  as of 17 March 2008
  95. Virtual Friend Function 75% developed  as of 10 May 2010

posted on 2015-10-01 23:46  cutepig  阅读(375)  评论(0编辑  收藏  举报

导航