C++ FAQ
/ Topics beginning with 'P'
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 'P'
[ 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
]
- Paging operating-systems: space-vs-speed issues ...
[9.3]
- Pairs: subscript operator, operator[], usually comes in ...
[13.9],
[18.12]
- Panacea...NOT! (see also under Exceptions) ...
[17.5]
- Paradigms
- Parameterized types (see also Templates) ...
[35.5]
- Parameterized types (see also under Templates) ...
[35.5]
- Parameters, named vs. positional ...
[10.20]
- Parameters: passing by reference vs. pointer ...
[8.1]
- Parking lot of Car vs. of Vehicle ...
[21.3]
- Parser for C++ ...
[38.11]
- Part-of (see also Composition) ...
[19.2],
[24.2]
- Pascal vs. C++ ...
[6.5]
- Passing array-of-Derived as array-of-Base, evilness of ...
[21.4],
[21.5]
- Passing by pointers ...
[8.1]
- Passing by references ...
[8.1]
- Passing parameters
- Passwords: turning off keyboard "echo" ...
[15.18]
- Pasting tokens via NAME2() macro ...
[39.6]
- Pathetic wannabes ...
[9.9]
- Patterns, design
- PEBCAC (Acronym) ...
[5.1]
- PEBCAK (Acronym) ...
[5.1]
- PERCEPS ...
[40.1]
- PERCEPS: a javadoc-like tool ...
[40.1]
- Perfect programming languages ...
[6.2]
- Performance (see also under Templates) ...
[35.10]
- Performance and inline ...
[9.3]
- Performance of virtual functions ...
[20.4]
- Performance tradeoffs; Multi-threading and ...
[36.12]
- Permissions to copy this document ...
[1]
- Permutations ...
[5.3]
- Persistence ...
[37.5],
[37.6],
[39.10]
- Physical Layout different from Logical Interface ...
[13.11],
[13.12]
- Placement new ...
[11.14],
[16.10]
- Plain Old Data; see POD types ...
[26.7]
- PMFJI (Acronym) ...
[5.1]
- POD types ...
[26.7]
- Pointer casts, evilness of ...
[16.25],
[18.17],
[21.2],
[23.12],
[27.11],
[30.2],
[30.3],
[37.5]
- Pointer semantics in reference counting ...
[16.22]
- Pointer to const member function (Const correctness) ...
[33.8]
- Pointer to const member function pointers ...
[33.8]
- Pointer to function
- Can't convert to void* ...
[33.11]
- Contrast pointer-to-member-function ...
[33.1]
- Converting from pointer-to-member-function ...
[33.3]
- Functionoids and... ...
[33.13]
- Sometimes you declare them unintentionally ...
[10.21]
- Weaknesses compared to functionoids ...
[33.13]
- Pointer to function, Member ...
[33]
- Address of a C++ method ...
[33.4]
- Array of pointer-to-member ...
[33.7]
- Can't convert to void* ...
[33.10]
- Contrast to pointer-to-function ...
[33.1]
- Converting to pointer-to-function ...
[33.2],
[33.3]
- Difference between .* and ->* ...
[33.9]
- Passing as pointer-to-function ...
[33.2]
- Pointer to const member function ...
[33.8]
- Use a #define macro to call them ...
[33.6]
- Use a typedef to declare them ...
[33.5]
- Pointer to function, Members ...
[33]
- Pointer to member ...
[33]
- Address of a C++ method ...
[33.4]
- Array of pointer-to-member ...
[33.7]
- Can't convert to void* ...
[33.10]
- Contrast to pointer-to-function ...
[33.1]
- Converting to pointer-to-function ...
[33.2],
[33.3]
- Difference between .* and ->* ...
[33.9]
- Passing as pointer-to-function ...
[33.2]
- Pointer to const member function ...
[33.8]
- Use a #define macro to call them ...
[33.6]
- Use a typedef to declare them ...
[33.5]
- Pointer to members ...
[33]
- Pointer, Dangling ...
[12.2],
[16.25],
[34.6]
- Pointer, Smart ...
[13.3],
[16.16],
[16.22],
[17.10],
[34.6]
- Pointer-to-const (Const correctness) ...
[18.4],
[18.5],
[26.13]
- Pointer-to-const aliasing (Const correctness) ...
[18.16]
- Pointers
- Accessing std::vector<T>-elements by ...
[34.3]
- Arithmetic of ...
[8.8],
[11.14],
[13.9],
[13.13],
[21.4],
[23.12],
[31.7],
[34.3]
- const ...
[18.4],
[18.5],
[18.16]
- Difference between .* and ->* ...
[33.9]
- Handles as generalized ...
[8.8]
- Invalid conversion: Derived** → Base** ...
[21.2]
- Invalid conversion: Foo** → Foo const** ...
[18.17]
- Member-function ...
[33]
- Passing by ...
[8.1]
- Pointer to const member function ...
[33.8]
- Polymorphic ...
[36.8]
- Read declarations right-to-left ...
[18.4],
[18.5]
- References contrasted to ...
[8.5],
[8.6]
- Returning ...
[26.13]
- Semantics of ...
[31.1]
- std::vector<T> elements accessed by ...
[34.3]
- Pointers contrasted to references ...
[8.5],
[8.6]
- Pointers with cycles or non-trivial joins, Serialization and ...
[36.11]
- Pointers with no cycles and no joins, Serialization and ...
[36.9]
- Pointers with no cycles and only "trivial" joins, Serialization and ...
[36.10]
- Points, Sequence ...
[39.15],
[39.16]
- Polish translation of this document ...
[2.11]
- Polymorphic Exception Idiom ...
[17.16]
- Polymorphic pointers ...
[36.8]
- Polymorphically throwing (see also under Exceptions) ...
[17.16]
- Polymorphism ...
[6.8],
[20.2]
- Pools, memory ...
[11.14]
- Portuguese translation of this document ...
[2.12]
- Posers: smoking out people who pretend to know C++ ...
[6.14]
- Positional parameter vs. named parameters ...
[10.20]
- Postfix operators ...
[5.3]
- Posting code (see also Netiquette) ...
[5.8]
- Posting guidelines for comp.lang.c++ ...
[5.4]
- Power of 2 ...
[26.12]
- Pragmatics ...
[6.1]
- Precedence ...
[13.7]
- Precise use of terminology ...
[9.9]
- Prefer const vs. #define (Const correctness) ...
[29.7]
- Prefix vs. postfix increment operator: operator++ ...
[13.14]
- Prefix vs. postfix increment operator: operator-- ...
[13.14]
- Prefix vs. postfix speed: operator++ ...
[13.15]
- Prefix vs. postfix speed: operator-- ...
[13.15]
- Prepare to die! (see also Destructors) ...
[11.1]
- Preprocessor is evil ...
[29.8]
- Preprocessor, evilness of ...
[29.8]
- Pretenders: smoking out people who pretend to know C++ ...
[6.14]
- Pretty printing
- Preventing inheritance (i.e., "final classes") ...
[23.11]
- Preventing subversion of reference counting ...
[16.25]
- Prim ...
[5.3]
- Primitive (built-in, primitive) data types ...
[26]
- printOn() method called by operator<< ...
[15.9]
- private inheritance ...
[24],
[24.1]
- Access rules ...
[24.6]
- Compared with composition ...
[24.2]
- Criteria for private inheritance vs. composition ...
[24.3]
- Derived* to private Base* conversion (invalid) ...
[24.4]
- private vs. protected inheritance ...
[24.5]
- private keyword ...
[7.4],
[7.6],
[24]
- private members
- Problems for homework ...
[5.2],
[5.3]
- Procedural integration and inline functions ...
[9.2]
- ProFactor StyleManager (see Pretty printing) ...
[40.3]
- Proficiency in OO/C++: How long does it take ...
[6.7]
- Programming practices, Bad ...
[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]
- Converting array-of-Derived → kind-of Array-of-Base ...
[21.4]
- Derived** → Base**, Casting ...
[21.2]
- Explicitly calling destructors (sometimes okay) ...
[11.10]
- Explicitly calling destructors on local objects ...
[11.5],
[11.6]
- Foo** → Foo const**, Casting ...
[18.17]
- 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]
- 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]
- Unnecessary global variables ...
[33.2],
[39.8]
- Unnecessary use of "dumb" pointers ...
[34.6]
- Programming-by-example books on C++ ...
[28.4],
[28.7]
- Promotion of left operand: friend-functions allow ...
[14.5]
- Promotion on the left hand side (see also Operator overloading) ...
[13.9]
- Propagating error information up the stack; see Exceptions ...
[17.2]
- Proper inheritance depends on behavior ...
[21.12]
- protected inheritance ...
[24]
- Access rules ...
[24.6]
- protected vs. private inheritance ...
[24.5]
- protected keyword ...
[7.4],
[24]
- protected members
- Access rules ...
[19.5]
- protected data is not evil! ...
[19.8]
- Public Overloaded Non-Virtuals Call Protected Non-Overloaded Virtuals Idiom ...
[23.3]
- The protected interface ...
[19.7]
- Virtuals ...
[23.3],
[23.4]
- Prototype pattern ...
[36.8]
- Proxy Template (see also under Templates) ...
[35.22]
- public inheritance ...
[19],
[20],
[21],
[22],
[23]
- Public interface; not enough to determine inheritance ...
[21.12]
- public keyword ...
[7.9]
- public members
- Access rules ...
[19.5]
- Public Overloaded Non-Virtuals Call Protected Non-Overloaded Virtuals Idiom ...
[23.3]
- The public interface ...
[19.7],
[19.8]
- Public Overloaded Non-Virtuals Call Protected Non-Overloaded Virtuals Idiom ...
[23.3]
- Publicly accessible copy constructor (see also under Exceptions) ...
[17.17]
- Pure OO programming languages ...
[28.3]
- Pure virtual functions ...
[20.6],
[22.3],
[22.4]
- Pure-technical definitions of "good" can be dangerous ...
[6.17]
- Purely technical definitions of "good" are dangerous ...
[6.17]
- Purpose of operator overloading (see also Operator overloading) ...
[13.1]
- put_result_here: how the compiler might implement return-by-value ...
[10.9]
- put_result_here: how the compiler might implement return-by-value on a local variable ...
[10.10]
|