Skip to content

Commit 167bcc3

Browse files
committed
.
1 parent b9ea835 commit 167bcc3

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

MODERNCPP_REMINDER.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
* Default Constructor: constructor that can be called with no arguments, or that can take arguments, provided they are given default values.
2222
* Definition: declarations that fully define entity introduced by declaration.
2323
* Dereferencing: referring to object pointed to by pointer. indirection.
24-
* Dynamic Binding: member function is selected dynamically (at run-time) based on type of object, not type of pointer/reference to that object.
24+
* Dynamic Binding: member function is selected dynamically (at run-time) based on type of object, not type of pointer/reference to that object.
25+
* Dynamic-Data: member object’s exact class can change dynamically over time.
2526
* Encapsulation: preventing unauthorized access to some piece of information or functionality.
2627
* Enumeration: type that can hold set of integer values specified by user.
2728
* Escape Sequence: used to represent certain special characters within string literals and character literals.
@@ -67,7 +68,8 @@
6768
* One Definition Rule: ODR. there must be exactly one definition. definitions in different translation units must be identical.
6869
* Operator: defines type of operation between operands.
6970
* Overloading: using same name for operations on different types is called overloading.
70-
* Parameterized Type: type that is parameterized over another type or some value. class template or genericity.
71+
* Parameterized Type: type that is parameterized over another type or some value. class template or genericity.
72+
* Per-Object-Data: any given object of class can instantiate different conformal (same type) member object upon initialization (wrapper), and exact class of member object is static property of object that wraps it.
7173
* PIMPL: pointer to implementation.
7274
* Plain Old Data: POD. contiguous sequence of bytes in memory. raw data. allows block operations.
7375
* Pointer: points to object represents address of first byte in memory occupied by object.
@@ -105,7 +107,8 @@
105107
* Union: struct in which all members are allocated at same address so that it occupies only as much space as its largest member.
106108
* Variable: declared objects and declared references that are not non-static data members.
107109
* Variadic Template: allows to handle arbitrary number of arbitrary types.
108-
* Virtual Table: data structure for classes that have virtual functions to handle dynamic binding.
110+
* Virtual Data: definition (class) of member object is overridable in derived classes provided its declaration (type) remains same, and this overriddenness is static property of derived class.
111+
* Virtual Table: data structure for classes that have virtual functions to handle dynamic binding.
109112

110113
[C++ ENTITIES]
111114
* Type
@@ -520,6 +523,8 @@
520523
* you can catch exception by value, by reference or by pointer.
521524
* prefer member functions over nonmembers for operations that need access to representation.
522525
* prefer nonmember functions over members for operations that do not need access to representation.
526+
* virtual member function means declaration must stay same in derived classes, but the definition can be overridden.
527+
* unless compelling reasons are given to contrary, member objects should be by value and parameters should be by reference.
523528

524529
* Nifty Counter Idiom:
525530
* Return Value Optimization:

0 commit comments

Comments
 (0)