Effective C++ and More編程专家培训

C++ 範圍之廣,可謂是個十分複雜 (也許最複雜) 的語言。落實各個細節,內化為良好的編程風格,十分有益。
本課程以業界極富盛名的《Effective C++》和《More Effective C++》二書為藍本,從中取出最有價值的專家經驗 (expertise)。

C++ 中高階學員





(以下只是暫列, 可以並可能彈性選擇和增減)
•   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