C++ FAQ
/ Topics beginning with 'R'
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 'R'
[ 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
]
- Rabinowitz ...
[29.17],
[37.7]
- RAII (Resource Acquisition Is Initialization) (see also under Exceptions) ...
[6.18],
[17.6],
[17.7]
- raise() methods ...
[17.16]
- Ralston ...
[29.17],
[37.7]
- rand() ...
[17.14]
- Read declarations right-to-left pointers ...
[18.4],
[18.5]
- Read declarations right-to-left references ...
[18.6]
- Reader/writer conflicts; Multi-threading and ...
[36.12]
- realloc(): reallocating memory; see also Freestore ...
[16.5]
- Recent changes to this document ...
[4]
- Reciprocal: Friendship privileges are not ...
[14.4]
- Redefining non-virtuals ...
[23.8],
[23.9]
- Reference counting
- Reference semantics ...
[31],
[31.7],
[31.8]
- Reference semantics for a hierarchy in reference counting ...
[16.24]
- Reference semantics in reference counting ...
[16.23]
- Reference-to-const (Const correctness) ...
[18.6],
[26.13]
- References ...
[8]
- References contrasted to pointers ...
[8.5],
[8.6]
- Referent ...
[8.2],
[8.5],
[31.2],
[34.6]
- Rely on specification, not implementation ...
[21.12]
- remembering bad state and std::istream (input/output) ...
[15.6]
- renew: reallocating memory ...
[16.5]
- Reply-To: line of a posting (see also Netiquette) ...
[5.4]
- Requires discipline and rigor (see also under Exceptions) ...
[17.5]
- Reseating a reference ...
[8.5],
[18.7],
[18.8]
- Reseating references ...
[8.5],
[18.7],
[18.8]
- Resources, External
- 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]
- Resumés ...
[5.11]
- Resurrecting objects from a stream of bits ...
[36.1]
- Retrofitting const correctness is hard (Const correctness) ...
[18.3]
- Return 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]
- Return on investment ...
[19.9]
- Return type ...
[39.9]
- Return type from functions ...
[26.13]
- Return-by-value optimization ...
[10.9]
- Return-by-value optimization extended to local variables ...
[10.10]
- Returning a reference ...
[8.3],
[8.4],
[10.20],
[26.13]
- Returning pointers ...
[26.13]
- Returning references ...
[8.3],
[8.4],
[10.20],
[26.13]
- Rich-text postings: don't! ...
[5.4]
- Right/left: moving const as far to the right as possible ...
[18.8],
[18.9]
- Rigor and discipline: exception handling requires ...
[17.5]
- Ripple effect: Minimize it! ...
[8.8]
- ROI ...
[19.9]
- Romanian translation of this document ...
[2.13]
- Rome; When in Rome, do as the Romans ...
[17.14]
- Row-major order ...
[13.11],
[13.12]
- RRID (Resource Reclamation Is Destruction) (see also under Exceptions) ...
[6.18]
- RTFM (Acronym) ...
[5.1]
- rtfm.mit.edu ...
[5.14]
- Rules of thumb ...
[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]
- Whitespace pseudo-standards ...
[29.10]
- Rules of thumb for when and how (see also Operator overloading) ...
[13.9]
- Rules vs. guidelines ...
[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]
- Run-time performance (see also under Templates) ...
[35.23]
- Runtime crashes without any warning ...
[11.5],
[11.6],
[16.2],
[16.3],
[16.5],
[16.12],
[16.13],
[17.11],
[20.7],
[21.1],
[21.4],
[21.5],
[26.11],
[34.1],
[39.8]
- runtime_error (see also under Exceptions) ...
[17.12]
- Russian translation of this document ...
[2.14]
|