4006-998-758
3000+课程任你选择
Effective C++ and More (C++ 编程之专家经验)
研发学院 Effective C++ C++ 开课时间:2021-08-03
侯捷

台湾著名C++技术专家,两岸著名IT技术教育者,计算机图书作家/译者/书评人。深入了解企业一线实践,挖掘C++技术难点与要点,有多年的企业客户培训经验,其深度的技术剖析和丰富的案例教学,深受企业及c++开发者的广泛好评。擅长以容易理解的图片解析繁复的结构和过程,以深入浅出的方式阐述高深的技术与复杂的源代码。

30年经验于计算器技术之写作/翻译/授课,曾执教于元智大学、南京大学,现任同济大学软件学院客座教授。着有《深入浅出MFC》《STL源码剖析》《多型与虚拟》《无责任书评》等书,译有《Inside the C++ Object Model》《C++ Primer》《Effective C++》《More Effective C++》等书。


查看老师详情
课程内容

课程说明


C++ 范围之广,可谓是个十分复杂 (也许最复杂) 的语言。落实各个细节,内化为良好的编程风格,十分有益。


课程特色


本课程以业界极富盛名之《Effective C++》为蓝本,从中取出最有价值的专家经验 (expertise),加上我个人的补充。


课程对象


C++ 中高阶学员


课程大纲


  1. Item 13: Use objects to manage resources

  2. Item 54: Familiarize yourself with the standard library, including TR1

  3. Item 55: Familiarize yourself with Boost

  4. Item 14: Think carefully about copying behavior in resource-managing classes

  5. Item 5: Know what functions C++ silently writes and calls

  6. Item 6: Explicitly disallow the use of compiler-generated functions you do not want

  7. Item 7: Declare destructors virtual in polymorphic base classes

  8. Item 29: Strive for exception-safe code

  9. Item 11: Handle assignment to self in operator=()

  10. Item 12: Copy all parts of an object

  11. Item 32: Make sure public inheritance models 3is-a2

  12. Item 34: Differentiate between inheritance of interface and inheritance of implementation

  13. Item 36: Never redefine an inherited non-virtual function

  14. Item 38: Model 3has-a2 or 3is-implemented-in-terms-of2 through composition

  15. Item 39: Use private inheritance judiciously

  16. Item 2: Prefer consts, enums, and inlines to #defines

  17. Item 3: Use const whenever possible

  18. Item 4: Make sure that objects are initialized before they1re used

  19. Item 18: Make interfaces easy to use correctly and hard to use incorrectly

  20. Item 20: Prefer pass-by-reference-to-const to pass-by-value

  21. Item 21: Don1t try to return a reference when you must return an object

  22. Item 22: Declare data members private

  23. Item 26: Postpone variable definitions as long as possible

  24. Item 28: Avoid returning 3handles2 to object internals

  25. Item 50: Understand when it makes sense to replace new and delete

  26. Item 9: Never call virtual functions during construction or destruction

  27. Item 25: Consider support for a non-throwing swap

  28. Item 27: Minimize casting

  29. Item 31: Minimize compilation dependencies between files

  30. Item 44: Factor parameter-independent code out of templates

返回上一级