晓峰's profile13PhotosBlogListsMore ![]() | Help |
|
May 08 More Effective C++Basics 1.Distinguish between pointers and references. 2.Prefer C++ style casts. 3.Never treat arrays polymorphically. 4.Avoid gratuitous default constructors. Operators 5.Be wary of user-defined conversion functions. 6.Distinguish between prefix and postfix forms of increment and decrement oprators. 7.Never overload &&, || or ,. 8.Understand the different meanings of new and delete. Exceptions 9.Use destructors to prevent resource leaks. 10.Prevent resource leaks in constructors. 11.Prevent exceptions from leaving destructors. 12.Understand how throwing an exception differs from passing a parameter or calling a virtual function. 13.Catch exceptions by reference. 14.Use exception specifications judiciously. 15.Understand the costs of exception handlling. Effeciency 16.Remember the 80-20 rule. 17.Consider using lazy evaluation. 18.Amortize the cost of expected computations. 19.Understand the origin of temporary objects. 20.Faciliate the return value optimization. 21.Overload to avoid implicity type conversions. 22.Consider using op= instead of stand-alone op. 23.Consider alternative libraries. 24.Understand the costs of virtual functions, multiple inheritance, virtual base classes, and RTTI. 25.Virtualizing constructors and non-member functions. 26.Limiting the number of objects of a class. 27.Requiring or prohibiting heap-based objects. 28.Smart Pointers. 29.Reference counting. 30.Proxy classes. 31.Making functions virtual with respect to more than one object Miscellany 32.Program in the future tense. 33.Make non-leaf classes abstract. 34.Understand how to combine C++ and C in the same program. 35.Familiarize yourself with the language standard. TrackbacksThe trackback URL for this entry is: http://131981.spaces.live.com/blog/cns!2DE0B674B1674775!128.trak Weblogs that reference this entry
|
|
|