当前位置:艾威培训主页 > 软件开发 > 侯捷C++定制培训 > Effective C++ and More編程专家培训 >
Effective C++ and More編程专家培训
课程介绍:
C++ 範圍之廣,可謂是個十分複雜 (也許最複雜) 的語言。落實各個細節,內化為良好的編程風格,十分有益。
课程特色:
本課程以業界極富盛名的《Effective C++》和《More Effective C++》二書為藍本,從中取出最有價值的專家經驗 (expertise)。
课程对象:
C++ 中高階學員
培训时长:2天
课程大纲:
(以下只是暫列, 可以並可能彈性選擇和增減)
• Item 13: Use objects to manage resources
• Item 54: Familiarize yourself with the standard library, including TR1
• Item 55: Familiarize yourself with Boost
• Item 14: Think carefully about copying behavior in resource-managing classes
• Item 5: Know what functions C++ silently writes and calls
• Item 6: Explicitly disallow the use of compiler-generated functions you do not want
• Item 7: Declare destructors virtual in polymorphic base classes
• Item 29: Strive for exception-safe code
• Item 11: Handle assignment to self in operator=()
• Item 12: Copy all parts of an object
• Item 32: Make sure public inheritance models ³is-a²
• Item 34: Differentiate between inheritance of interface and inheritance of implementation
• Item 36: Never redefine an inherited non-virtual function
• Item 38: Model ³has-a² or ³is-implemented-in-terms-of² through composition
• Item 39: Use private inheritance judiciously
• Item 2: Prefer consts, enums, and inlines to #defines
• Item 3: Use const whenever possible
• Item 4: Make sure that objects are initialized before they¹re used
• Item 18: Make interfaces easy to use correctly and hard to use incorrectly
• Item 20: Prefer pass-by-reference-to-const to pass-by-value
• Item 21: Don¹t try to return a reference when you must return an object
• Item 22: Declare data members private
• Item 26: Postpone variable definitions as long as possible
• Item 28: Avoid returning ³handles² to object internals
• Item 50: Understand when it makes sense to replace new and delete
• Item 9: Never call virtual functions during construction or destruction
• Item 25: Consider support for a non-throwing swap
• Item 27: Minimize casting
• Item 31: Minimize compilation dependencies between files
• Item 44: Factor parameter-independent code out of templates
• Item 13: Use objects to manage resources
• Item 54: Familiarize yourself with the standard library, including TR1
• Item 55: Familiarize yourself with Boost
• Item 14: Think carefully about copying behavior in resource-managing classes
• Item 5: Know what functions C++ silently writes and calls
• Item 6: Explicitly disallow the use of compiler-generated functions you do not want
• Item 7: Declare destructors virtual in polymorphic base classes
• Item 29: Strive for exception-safe code
• Item 11: Handle assignment to self in operator=()
• Item 12: Copy all parts of an object
• Item 32: Make sure public inheritance models ³is-a²
• Item 34: Differentiate between inheritance of interface and inheritance of implementation
• Item 36: Never redefine an inherited non-virtual function
• Item 38: Model ³has-a² or ³is-implemented-in-terms-of² through composition
• Item 39: Use private inheritance judiciously
• Item 2: Prefer consts, enums, and inlines to #defines
• Item 3: Use const whenever possible
• Item 4: Make sure that objects are initialized before they¹re used
• Item 18: Make interfaces easy to use correctly and hard to use incorrectly
• Item 20: Prefer pass-by-reference-to-const to pass-by-value
• Item 21: Don¹t try to return a reference when you must return an object
• Item 22: Declare data members private
• Item 26: Postpone variable definitions as long as possible
• Item 28: Avoid returning ³handles² to object internals
• Item 50: Understand when it makes sense to replace new and delete
• Item 9: Never call virtual functions during construction or destruction
• Item 25: Consider support for a non-throwing swap
• Item 27: Minimize casting
• Item 31: Minimize compilation dependencies between files
• Item 44: Factor parameter-independent code out of templates