More C++ Idioms

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

 

 

Table of Contents

Note: synonyms for each idiom are listed in parentheses.

  1. Adapter Template
  2. Address Of 75% developed  as of 9 Oct 2011
  3. Algebraic Hierarchy 75% developed  as of 12 June 2008
  4. Attach by Initialization 75% developed  as of 22 Oct 2011
  5. Attorney-Client 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 mutant 75% developed  as of 9 May 2010
  9. Calling Virtuals During Initialization 75% developed  as of 6 August 2007
  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
  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. Curiously Recurring Template Pattern 75% developed  as of 6 August 2007
  23. Non-intrusive reference counting (Detached Counted Body) 0% developed  as of 2nd March 2011
  24. Empty Base Optimization 75% developed  as of 9 Oct 2011
  25. enable-if 75% developed  as of 21 Feb 2011
  26. Envelope Letter 75% developed  as of 1 February 2008
  27. Erase-Remove 75% developed  as of 17 November 2007
  28. Execute-Around Pointer 75% developed  as of 6 August 2007
  29. Export Guard Macro
  30. Expression-template 75% developed  as of 6 August 2007
  31. Fake Vtable
  32. Fast Pimpl 0% developed  as of 6 August 2007
  33. Final Class 75% developed  as of 10 May 2010
  34. Free Function Allocators
  35. Function Object
  36. Generic Container Idioms 75% developed  as of 22 November 2007
  37. Hierarchy Generation
  38. Include Guard Macro 75% developed  as of 3 November 2007
  39. Inline Guard Macro 75% developed  as of 3 November 2007
  40. Inner Class 75% developed  as of 31 August 2007
  41. Int-To-Type 75% developed  as of 21 September 2008
  42. Interface Class 75% developed  as of 6 January 2008
  43. Iterator Pair 100% developed  as of 28 October 2007
  44. Making New Friends 75% developed  as of 5 January 2008
  45. Metafunction 75% developed  as of 15 September 2008
  46. Move Constructor 100% developed  as of 13 August 2007
  47. Multi-statement Macro 75% developed  as of 16 February 2008
  48. Member Detector 75% developed  as of 10 May 2010
  49. Named Constructor 75% developed  as of 28 September 2008
  50. Named External Argument
  51. Named Loop (labeled loop) 75% developed  as of 9 May 2010
  52. Named Parameter 75% developed  as of 11 May 2010
  53. Named Template Parameters
  54. Nifty Counter (Schwarz Counter) 75% developed  as of 6 August 2007
  55. Non-copyable Mixin 75% developed  as of 6 August 2007
  56. Non-member Non-friend Function 0% developed  as of 10 March 2008
  57. Non-throwing swap 75% developed  as of 9 January 2008
  58. Non-Virtual Interface (Public Overloaded Non-Virtuals Call Protected Non-Overloaded Virtuals) 75% developed  as of 12 June 2008
  59. nullptr 75% developed  as of 3 November 2007
  60. Object Generator 75% developed  as of 14 September 2008
  61. Object Template
  62. Parameterized Base Class (Parameterized Inheritance) 75% developed  as of 6 August 2007
  63. Pimpl (Handle Body, Compilation Firewall, Cheshire Cat) 0% developed  as of 2nd March 2011
  64. Policy Clone (Metafunction wrapper) 100% developed  as of 14 August 2007
  65. Policy-based Design
  66. Polymorphic Exception 75% developed  as of 28 September 2008
  67. Polymorphic Value Types 0% developed  as of 24 June 2012
  68. Recursive Type Composition
  69. Requiring or Prohibiting Heap-based Objects
  70. Resource Acquisition Is Initialization (RAII, Execute-Around Object, Scoped Locking) 100% developed  as of 6 November 2007
  71. Resource Return 75% developed  as of 3 November 2007
  72. Return Type Resolver 75% developed  as of 10 May 2010
  73. Runtime Static Initialization Order Idioms 75% developed  as of 6 August 2007
  74. Safe bool 75% developed  as of 6 August 2007
  75. Scope Guard 100% developed  as of 14 August 2007
  76. Substitution Failure Is Not An Error (SFINAE) 75% developed  as of 12 May 2012
  77. Shortening Long Template Names
  78. Shrink-to-fit 75% developed  as of 10 August 2007
  79. Small Object Optimization
  80. Smart Pointer 75% developed  as of 17 November 2007
  81. Storage Class Tracker
  82. Tag Dispatching 0% developed  as of 21 October 2007
  83. Temporary Base Class
  84. Temporary Proxy
  85. The result_of technique
  86. Thin Template 75% developed  as of 6 August 2007
  87. Traits 0% developed  as of 21 October 2007
  88. Type Erasure
  89. Type Generator (Templated Typedef) 75% developed  as of 14 September 2008
  90. Type Safe Enum 75% developed  as of 11 May 2010
  91. Type Selection 75% developed  as of 9 May 2010
  92. Virtual Constructor 75% developed  as of 17 March 2008
  93. Virtual Friend Function 75% developed  as of 10 May 2010

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值