Table of Contents

Note: synonyms for each idiom are listed in parentheses.

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

More C++ Idioms的更多相关文章

  1. Kotlin Reference (二) Idioms

    most from reference 一些常用操作 创建单例类 object 数据类data classList.Map.Array的简单操作Lazy延迟加载属性空类型?空类型表达式?..?:.?. ...

  2. English idioms

    a hot potato : speak of an issue(mostly current) which many people are talking about and which is us ...

  3. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

  4. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

  5. 我的公司培训讲义(1):.NET开发规范教程

    这是1年多以前我在公司所做讲座的讲义,现在与园友们分享,欢迎拿去使用.一起讨论.文中有若干思考题,对园友们是小菜一碟.另有设计模式讲义一篇,随后发布.博文上了首页,感谢博客园团队推荐,也感谢所有园友的 ...

  6. [转载]Google Guava官方教程(中文版)

      原文链接  译文链接 译者: 沈义扬,罗立树,何一昕,武祖  校对:方腾飞 引言 Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] ...

  7. JCIP chap3 share objects

    "同步"确保了操作的原子性执行,但它还有其它重要的方面:memory visibility.我们不但要确保当一个线程在使用一个对象的时候,其它线程不能修改这个对象,而且还要保证该线 ...

  8. matplotlib 高级用法实例--共享x轴

    http://localhost:8888/notebooks/duanqs/matplotlib_advanced_example.ipynb 我不会弄呀, 刚才从matplotlib文档里吧示例用 ...

  9. java程序性能优化

    一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子: import java.util ...

随机推荐

  1. 2010年腾讯前端面试题学习(jquery,html,css部分)

    看了牛人写的回忆文章,里面有2010年腾讯的前端面试题,里面涉及到不少基础性的问题,js部分已学习,这是jquery,html和css部分,学习一下:) 原文地址:https://segmentfau ...

  2. MySQL 显示表字段及注释等信息

    SHOW TABLES  from resource [FROM db_name] //列出数据库数据表 SHOW TABLE STATUS from resource [FROM db_name]  ...

  3. 启动apache 找不到 mbstring.dll

    启动appserv时 提示 无法启动此程序 因为计算机中丢失php mbstring.dll   这种原因一般都是组件加载顺序引起的,在php.ini文件里确保 extension=php_mbstr ...

  4. 【linux基础】如何确定系统使用的Eigen库的版本

    path /usr/include/eigen3/Eigen/src/Core/util 文件 Macros.h #define EIGEN_WORLD_VERSION 3 #define EIGEN ...

  5. 【leetcode】58-LengthofLastWord

    problem Length of Last Word 只有一个字符的情况: 最后一个word至字符串末尾之间有多个空格的情况: code1 class Solution { public: int ...

  6. Django中HtttpRequest请求

    1.什么是HttpRequest HttpRequest,就是对请求对象的封装,里面封装的是请求过程中的所有信息.在Django中HttpRequest被封装成request对象并封装到视图处理函数中 ...

  7. 快排 - 快速排序算法 (Chinar出品 简单易懂)

    Quicksort 快排的简单讲解 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  8. freeSSHd (Auth fail)错误!以及Xmanager的(ssh服务器拒绝了密码,请再试一次)错误!

    参考文档:http://blog.csdn.net/zhangliang_571/article/details/45598939 (Auth fail) 以及(ssh服务器拒绝了密码,请再试一次)  ...

  9. 用户密码管理和 su 命令

    1.passwd root 用户给自己改 密码,直接 输入 passwd  就可以了 若是给其它用户修改密码,就需要 passwd  user_name 用户锁定和解锁 passwd -l user_ ...

  10. 玩vue+mockjs

    玩vue+mockjs vue中用mock制造模拟接口(本文主要解决坑),一定要看完哦 最近新入职一家公司,后端造接口速度很慢,想来想去还是搞一套模拟接口,来满足开发需求,有人会问,我造一个死数据不就 ...