Using the GNU Compiler Collection (GCC): C++ Misunderstandings

Next: Non-bugs, Previous: Disappointments, Up: Trouble   [Contents][Index]


13.7 Common Misunderstandings with GNU C++

C++ is a complex language and an evolving one, and its standard definition (the ISO C++ standard) was only recently completed. As a result, your C++ compiler may occasionally surprise you, even when its behavior is correct. This section discusses some areas that frequently give rise to questions of this sort.

• Static Definitions:    Static member declarations are not definitions
• Name lookup:    Name lookup, templates, and accessing members of base classes
• Temporaries:    Temporaries may vanish before you expect
• Copy Assignment:    Copy Assignment operators copy virtual bases twice