C++ FAQ
/ Topics beginning with 'E'
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 'E'
[ 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
]
- Early Lifecycle Decisions ...
[6]
- Business-centricity vs. Techno-centricity ...
[6.5]
- C++ is a practical tool ...
[6.1]
- C++ is not a perfect tool ...
[6.2]
- Length of time needed to learn OO/C++ ...
[6.7]
- Size of the installed base ...
[6.6]
- Some advantages of Generic Programming ...
[6.4]
- Some advantages of OO ...
[6.3]
- Standardization of C++ ...
[6.12],
[6.13]
- Echo: turning off keyboard "echo" ...
[15.18]
- Eight bits: minimum size for a byte ...
[26.4]
- Elements of arrays init'd via the default ctor ...
[10.5]
- Eliminate some if statements (see also under Exceptions) ...
[17.1]
- Ellemtel coding guidelines ...
[27.13]
- Ellipses vs. Circles ...
[21.6],
[21.7],
[21.8],
[21.9],
[21.10],
[21.11]
- Else, Dangling ...
[39.4]
- Empty parameter list: f() vs. f(void) ...
[29.4]
- Encapsulation ...
[6.8],
[7]
- Allows changes to internal data structure ...
[13.12]
- Based on the class, not the instance (mostly) ...
[7.7]
- Definition ...
[7.4]
- Hides stuff from code, not from people ...
[7.6]
- Improved(!) by friends ...
[14.2]
- Not necessarily violated by friends ...
[14.2]
- Security vs. Encapsulation ...
[7.8]
- End-of-file (see Input/output) ...
[15.2],
[15.5]
- End-of-line translations in text mode ...
[15.12],
[15.13]
- Ending lines: std::endl vs. '\n' (input/output) ...
[15.7]
- Ending output lines: std::endl vs. '\n' ...
[15.7]
- endl vs. '\n' for ending output lines ...
[15.7]
- Enumerations ...
[29.19]
- eof and std::istream (input/output) ...
[15.2],
[15.5]
- Equality test operator: operator== ...
[13.9],
[13.13]
- Equation parsing in C++ ...
[5.3]
- Erasing the screen ...
[15.20]
- Error codes
- Avoiding using the return-code-mindset with real exceptions ...
[17.7]
- Can't be used from constructors ...
[17.8]
- Clutters code that needs to propagate error information up the stack ...
[17.2]
- Merges the control flow — "good (happy) path" vs. "bad path" ...
[17.4]
- Merges the return types — "successful result" vs. "error information" ...
[17.3]
- Using try / catch / throw instead ...
[17.1]
- Error messages, Understanding ...
[35.17]
- Etiquette ...
[5]
- Etymology ...
[6.18]
- Evil things ...
[6.15]
- Arrays ...
[16.17],
[17.11],
[21.5],
[34.1]
- Casting Derived** → Base** ...
[21.2]
- Casting Foo** → Foo const** ...
[18.17]
- Casting pointers ...
[16.25],
[18.17],
[21.2],
[23.12],
[27.11],
[30.2],
[30.3],
[37.5]
- char* (use a string-like class instead) ...
[13.6],
[17.11]
- Choose the "lesser of two evils" ...
[29.8]
- Converting array-of-Derived → kind-of Array-of-Base ...
[21.4]
- Definition of "evil" ...
[6.15]
- Derived** → Base**, Casting ...
[21.2]
- Does not mean "never use these"! ...
[6.16]
- Explicitly calling destructors (sometimes okay) ...
[11.10]
- Explicitly calling destructors on local objects ...
[11.5],
[11.6]
- Foo** → Foo const**, Casting ...
[18.17]
- friend classes/functions are not evil ...
[15.9]
- Hiding inherited public features ...
[21.1],
[21.6],
[21.7],
[21.8],
[21.9],
[23.9]
- Macros ...
[9.5],
[29.11],
[30.3],
[39.4],
[39.5],
[39.6]
- Missing virtual on some base class dtors ...
[20.7]
- Mixing malloc() and delete ...
[16.3]
- Mixing new and free() ...
[16.3]
- Mixing new T[n] with delete p ...
[16.12],
[16.13],
[26.11]
- Mixing realloc() and new ...
[16.5]
- Multiple inheritance is not evil ...
[25.2]
- Passing array-of-Derived as array-of-Base ...
[21.4],
[21.5]
- Pointer casts ...
[16.25],
[18.17],
[21.2],
[23.12],
[27.11],
[30.2],
[30.3],
[37.5]
- Preprocessor ...
[29.8]
- private inheritance is not evil ...
[24.3]
- protected data is not evil ...
[19.8]
- Sometimes "evil" things are the "least bad" alternative ...
[6.16]
- Sometimes "evil" things are useful ...
[29.11]
- Unnecessary global variables ...
[33.2],
[39.8]
- Unnecessary use of "dumb" pointers ...
[34.6]
- Example of throw; to re-throw current exception (see also under Exceptions) ...
[16.10],
[17.11],
[38.7],
[38.8]
- Example of try ... catch (see also under Exceptions) ...
[16.10],
[17.11],
[38.7],
[38.8]
- Examples (see also Operator overloading) ...
[13.3]
- Exceptions ...
[17]
- Avoid catch-by-pointer (usually) ...
[17.13],
[17.14]
- Avoid catch-by-value ...
[17.13]
- Avoiding an overabundance of try/catch blocks ...
[17.7]
- Broken mindset ...
[17.6],
[17.7]
- Catch-by-pointer, avoid (usually) ...
[17.13],
[17.14]
- Catch-by-value, avoid ...
[17.13]
- Compared to return-codes and if ...
[17.1],
[17.2]
- Constructors can throw exceptions ...
[17.8]
- Copy ctor must be publicly accessible ...
[17.17]
- Destructors ...
[11.13],
[17.9]
- DIRR (Destruction Is Resource Reclamation) ...
[6.18]
- Eliminate some if statements ...
[17.1]
- Example of throw; to re-throw current exception ...
[16.10],
[17.11],
[38.7],
[38.8]
- Example of try ... catch ...
[16.10],
[17.11],
[38.7],
[38.8]
- Free lunch...NOT! ...
[17.5]
- Inherit your own exception classes (ultimately) from std::exception ...
[17.12]
- Member objects should be self-managing ...
[17.10]
- Mindset, right and wrong ...
[17.6],
[17.7]
- Not one-size-fits-all ...
[17.5]
- Number of copies made internally ...
[17.17]
- Panacea...NOT! ...
[17.5]
- Polymorphically throwing ...
[17.16]
- Publicly accessible copy constructor ...
[17.17]
- RAII (Resource Acquisition Is Initialization) ...
[6.18],
[17.6],
[17.7]
- Requires discipline and rigor ...
[17.5]
- RRID (Resource Reclamation Is Destruction) ...
[6.18]
- Separate the "good (happy) path" from the "bad path" ...
[17.4]
- Simplify function return types and parameter types ...
[17.3]
- Simplify propagating the error information up the stack ...
[17.2]
- Stack unwinding ...
[11.13],
[17.9]
- std::bad_alloc ...
[16.6],
[16.7]
- std::runtime_error ...
[17.12]
- throw ...
[16.6],
[16.7]
- throw; (without an exception-object after the throw keyword) ...
[17.15]
- Throwing polymorphically ...
[17.16]
- What to catch ...
[17.13]
- What to throw ...
[17.12]
- Whipping boy for the weak ...
[17.5]
- Wrong mindset ...
[17.6],
[17.7]
- Executables
- Decompiling back to C++ source code ...
[38.4]
- inline functions and size ...
[9.3]
- Size ...
[37.8]
- explicit keyword ...
[10.22],
[13.9],
[20.7]
- Explicitly calling destructors (sometimes okay), evilness of ...
[11.10]
- Explicitly calling destructors on local objects, evilness of ...
[11.5],
[11.6]
- Exploits developer's intuition (see also Operator overloading) ...
[6.8]
- export keyword (see also under Templates) ...
[35.14],
[35.15]
- export keyword ...
[35.14],
[35.15]
- extern "C" ...
[32],
[32.3]
- extern keyword ...
[32],
[32.3]
- External resources
- Bjarne Stroustrup's web site ...
[29.4]
- Borland free C++ compiler ...
[38.1]
- British Informatics Olympiad ...
[29.2]
- C++ Libraries FAQ ...
[37.9]
- Ccdoc ...
[40.1]
- Cfront C++ compiler ...
[38.13]
- Cygwin ...
[38.5]
- Dictionary of Algorithms and Data Structures ...
[29.2]
- Digital Mars free C++ compiler ...
[38.1]
- DJGPP free C++ compiler ...
[38.1]
- Doc++ ...
[40.1]
- Doxygen ...
[40.1]
- Garbage collectors ...
[16.27],
[16.28]
- Grammar for C++ ...
[38.11]
- Industrial Strength C++ ...
[27.13]
- International Obfuscated C Coding Contest ...
[27.14]
- Lgrind ...
[40.3]
- LLVM C++ compiler ...
[38.13]
- Microsoft C++ freely downloadable command-line compiler ...
[38.1]
- MinGW ...
[38.5]
- MinGW free C++ compiler ...
[38.1]
- On floating point arithmetic ...
[29.17]
- PERCEPS ...
[40.1]
- STL Error-Message filter ...
[35.17]
- Techi-Warehouse ...
[5.9]
- The Correct C++ Tutorial ...
[29.21]
- University of Valladolid Programming Contest Site ...
[29.2]
|