Category: C++ 2014 x in y in c++ Mar 04 2014 Mixing C++ and Objective-c in XCode Feb 02 2014 2011 Moving onto “More Effective C++” Jun 18 2011 Item 50: Improve your understanding of C++ Jun 18 2011 Item 49: Familiarize yourself with the standard library Jun 18 2011 Item 47: Ensure that non-local static objects are initialized before they're used Jun 17 2011 RAII stands for Jun 17 2011 Item 48: Pay attention to compiler warnings Jun 14 2011 Item 46: Prefer compile-time and link-time errors to runtime errors Jun 14 2011 Item 45: Know what functions C++ silently writes and calls Jun 14 2011 Item 44: Say what you mean; understand what you're saying Jun 13 2011 Item 43: Use multiple inheritance judiciously Jun 13 2011 Item 41: Differentiate between inheritance and templates Jun 13 2011 Item 40: Model 'has-a' or 'is-implemented-in-terms-of' through layering Jun 13 2011 Item 39: Avoid casts down the inheritance hierarchy Jun 13 2011 Item 38: Never redefine an inherited default parameter value Jun 13 2011 Item 37: Never redefine an inherited nonvirtual function Jun 13 2011 Item 36: Differentiate between inheritance of interface and inheritance of implementation Jun 12 2011 Item 35: Make sure public inheritance models 'isa' Jun 12 2011 Item 34: Minimize compilation dependencies between files Jun 12 2011 Item 33: Use inlining judiciously Jun 05 2011 Item 32: Postpone variable definitions as long as possible Jun 05 2011 Item 31: Never return a reference to a local object or to a dereferenced pointer initialized by new within the function Jun 05 2011 Item 23 revisited Jun 05 2011 Item 30: Avoid member functions that return non-const pointers or references to members less accessible than themselves Jun 05 2011 Item 29: Avoid returning 'handles' to internal data Jun 05 2011 Item 27: Explicitly disallow use of implicitly generated member functions you don't want Jun 05 2011 Item 28: Partition the global namespace Jun 05 2011 Item 25: Avoid overloading on a pointer and a numerical type Jun 05 2011 Item 24: Choose carefully between function overloading and parameter defaulting Jun 04 2011 Item 23: Don't try to return a reference when you must return an object Jun 04 2011 Item 22: Prefer pass-by-reference to pass-by-value Jun 04 2011 Item 19: Differentiate among member functions, non-member functions, and friend functions Jun 03 2011 Item 20: Avoid data members in the public interface Jun 03 2011 Item 18: Strive for class interfaces that are complete and minimal Jun 02 2011 Using const with Reference Arguments Jun 01 2011 Item 14: Make sure base classes have virtual destructors Jun 01 2011 Item 13: List members in an initialization list in the order in which they are declared Jun 01 2011 C++: Required Class Operations May 31 2011 Item 6: Use delete on pointer members in destructors May 30 2011 Item 4: Prefer C++-style comments May 30 2011 Item 3: Prefer new and delete to malloc and free May 30 2011 Item 2: Prefer to May 30 2011 Item 19: Differentiate among member functions, non-member functions, and friend functions May 30 2011 The _explicit_ keyword in C++ is used to declare explicit constructors. Explicit constructors are constructors that cannot take part in an implicit conversion May 30 2011 Item 38: Never redefine an inherited default parameter value May 30 2011 Item 38: Never redefine an inherited default parameter value May 30 2011 Function arguments in C++ are passed by-value. A copy of each argument is made. A function works with the copy, not the original May 29 2011
Item 36: Differentiate between inheritance of interface and inheritance of implementation Jun 12 2011
Item 31: Never return a reference to a local object or to a dereferenced pointer initialized by new within the function Jun 05 2011
Item 30: Avoid member functions that return non-const pointers or references to members less accessible than themselves Jun 05 2011
Item 19: Differentiate among member functions, non-member functions, and friend functions Jun 03 2011
Item 19: Differentiate among member functions, non-member functions, and friend functions May 30 2011
The _explicit_ keyword in C++ is used to declare explicit constructors. Explicit constructors are constructors that cannot take part in an implicit conversion May 30 2011
Function arguments in C++ are passed by-value. A copy of each argument is made. A function works with the copy, not the original May 29 2011