C++ FAQ
/ Topics beginning with 'G'
Recent changes - 11 changed FAQs.
In a list,
or in a chain,
or here:
[4.1],
[4.2],
[6.3],
[6.12],
[10.3],
[15.22],
[27.15],
[35.13],
[35.14],
[35.15],
[39.6].
Translated into 16 languages.
English,
Belorussian / Minsk,
Bosnian / Serbian / Croatian,
Bulgarian,
Chinese (GB, Mainland),
Chinese (Big5, Taiwan),
French,
German,
Greek,
Korean,
Polish,
Portuguese,
Romanian,
Russian,
Spanish,
Turkish.
Mirrored in 11 countries.
USA,
France,
Germany,
Ireland,
Israel,
Italy,
Poland,
Portugal,
Spain,
Taiwan,
U.K..
|
C++ FAQ topics beginning with 'G'
[ A
| B
| C
| D
| E
| F
| G
| H
| I
| J
| K
| L
| M
| N
| O
| P
| Q
| R
| S
| T
| U
| V
| W
| X
| Y
| Z
]
- Garbage collector ...
[16.26]
- Garbage collectors ...
[16.27],
[16.28]
- Gas powered engine (example) ...
[25.5]
- Generalization (see also Inheritance) ...
[19.3]
- Generalization, Nested ...
[25.5]
- Generalized pointers: Handles ...
[8.8]
- Generic programming: So what? ...
[6.4]
- Genericity (see also Templates) ...
[35.6]
- Genericity (see also under Templates) ...
[35.6]
- German translation of this document ...
[2.8]
- getch() ...
[15.17]
- Global variables: Just Say No! ...
[33.2],
[39.8]
- GNU
- GNU indent (see Pretty printing) ...
[40.3]
- Good ("happy") path; see Exceptions ...
[17.3],
[17.4]
- Good of the many outweighs the good of the few ...
[23.3]
- Good, Must not be defined in purely technical terms ...
[6.17]
- Grammar for C++ ...
[38.11]
- Grammar for C++, Yaccable ...
[38.11]
- Graphics ...
[5.9]
- Graphs of objects (definition), Serialization and ...
[36.13]
- Greater-than operator: operator> ...
[13.9]
- Greater-than-or-equal-to operator: operator>= ...
[13.9]
- Greek translation of this document ...
[2.9]
- grind (see Pretty printing) ...
[40.3]
- Guidelines ...
[27]
- Assignment operators check assignment-to-self ...
[12.1],
[27.10]
- Assignment operators return *this ...
[27.10]
- Assignment operators use const ...
[27.10]
- Avoid arrays ...
[16.17],
[17.11],
[21.5],
[34.1]
- Avoid bizarre syntax ...
[27.14]
- Avoid casting Derived** → Base** ...
[21.2]
- Avoid casting Foo** → Foo const** ...
[18.17]
- Avoid casting pointers ...
[16.25],
[18.17],
[21.2],
[23.12],
[27.11],
[30.2],
[30.3],
[37.5]
- Avoid char* (use a string-like class instead) ...
[13.6],
[17.11]
- Avoid converting array-of-Derived → kind-of Array-of-Base ...
[21.4]
- Avoid Derived** → Base**, Casting ...
[21.2]
- Avoid dynamically typed libraries ...
[37.5]
- Avoid explicitly calling destructors (sometimes okay) ...
[11.10]
- Avoid explicitly calling destructors on local objects ...
[11.5],
[11.6]
- Avoid Foo** → Foo const**, Casting ...
[18.17]
- Avoid hiding inherited public features ...
[21.1],
[21.6],
[21.7],
[21.8],
[21.9],
[23.9]
- Avoid hiding nested identifiers ...
[39.8]
- Avoid macros ...
[9.5],
[29.11],
[30.3],
[39.4],
[39.5],
[39.6]
- Avoid missing virtual on some base class dtors ...
[20.7]
- Avoid mixing malloc() and delete ...
[16.3]
- Avoid mixing new and free() ...
[16.3]
- Avoid mixing new T[n] with delete p ...
[16.12],
[16.13],
[26.11]
- Avoid mixing realloc() and new ...
[16.5]
- Avoid overabundance of try/catch blocks ...
[17.7]
- Avoid passing array-of-Derived as array-of-Base ...
[21.4],
[21.5]
- Avoid pointer casts ...
[16.25],
[18.17],
[21.2],
[23.12],
[27.11],
[30.2],
[30.3],
[37.5]
- Avoid preprocessor ...
[29.8]
- Avoid unnecessary global variables ...
[33.2],
[39.8]
- Avoid unnecessary use of "dumb" pointers ...
[34.6]
- Avoid zombie objects ...
[17.8]
- Bloodshed, Jihads, and Heat vs. Light ...
[27.1]
- Coding standards are never sufficient ...
[27.2]
- Coding standards are sometimes necessary ...
[27.2]
- const_cast ...
[18.13]
- Constructors should throw exceptions on failure ...
[17.8]
- Copy constructors use const ...
[27.10]
- Declare near first use ...
[27.7]
- Design classes from the outside-in ...
[13.13]
- Don't base C++ standards on C standards ...
[27.3],
[34.1]
- Don't test for NULL after new ...
[16.6]
- Don't test for NULL before delete ...
[16.8]
- Explicitly calling destructors (don't!) ...
[11.9]
- Header filename extensions ...
[27.9]
- Identifier naming conventions ...
[27.12]
- Initialization lists ...
[10.6],
[26.8],
[27.10]
- Law of the Big Three ...
[16.17],
[27.10]
- Macros that contain if ...
[39.4]
- Macros that contain multiple lines ...
[39.5]
- Macros that perform token pasting ...
[39.6]
- main() returns int, not void ...
[5.8],
[29.3]
- Multiple inheritance ...
[25.4]
- Never throw exceptions from a dtor ...
[17.9]
- Operator overloading ...
[27.10]
- Prefer ++i over i++ ...
[13.15]
- Source filename extensions ...
[27.8]
- static at file-scope (don't!) ...
[7.5]
- The Ellemtel coding guidelines ...
[27.13]
- Todd Hoff's coding guidelines ...
[27.13]
- Use a std::string object rather than a char* ...
[13.6],
[17.11]
- Use delete[] for arrays ...
[16.12]
- Use of the ternary ?: operator ...
[27.6]
- virtual destructors ...
[20.7],
[27.10]
- vs. rules ...
[6.16],
[6.17],
[9.3],
[17.5],
[17.8],
[18.8],
[18.9],
[19.8],
[21.8],
[23.3],
[23.4],
[25.2],
[25.3],
[25.5],
[25.6],
[29.7],
[29.11],
[36.2],
[36.3],
[36.5],
[36.6]
- vs. rules@ ...
[6.16],
[6.17],
[9.3],
[17.5],
[17.8],
[18.8],
[18.9],
[19.8],
[21.8],
[23.3],
[23.4],
[25.2],
[25.3],
[25.5],
[25.6],
[29.7],
[29.11],
[36.2],
[36.3],
[36.5],
[36.6]
- Whitespace pseudo-standards ...
[29.10]
- Guidelines for when and how (see also Operator overloading) ...
[13.9]
|