1.1 Basic Language Knowledge

  1.1.1 Style
   1.1.1.1 Naming
   1.1.1.2 Comment and document
   1.1.1.3 Code Convention
  1.1.2 Basic of C and C++
   1.1.2.1 Basic concept
   1.1.2.2 Combine C and C++
   1.1.2.3 Translation unit
  1.1.3 malloc and new
   1.1.3.1 malloc
   1.1.3.2 new basic knowledge
   1.1.3.3 Inside of new
   1.1.3.4 new_handler
   1.1.3.5 placement new
  1.1.4 Numerical Overflow
  1.1.5 numerical conversions
   1.1.5.1 Numerical Conversion
   1.1.5.2 Explicit numerical conversion
  1.1.6 Type cast in c++
   1.1.6.1 Implicit conversion in C++
   1.1.6.2 type cast operator
   1.1.6.3 RTTI
  1.1.7 cv-qualifier
   1.1.7.1 const and mutable
   1.1.7.2 static
  1.1.8 Namespace
   1.1.8.1 namespace basic knowledge
   1.1.8.2 name lookup
   1.1.8.3 name hiding
  1.1.9 reference and rvalue reference
   1.1.9.1 reference basic
   1.1.9.2 lvalue rvalue and xvalue
   1.1.9.3 rvalue reference and move
   1.1.9.4 Universal reference
   1.1.9.5 function interface parameter design
   1.1.9.6 move copy and assignment
   1.1.9.7 function interface return design
  1.1.10 pointer and smart pointer
   1.1.10.1 function pointer
   1.1.10.2 When to use new?
   1.1.10.3 Smart pointer Basic knowledge
   1.1.10.4 unique_ptr
   1.1.10.5 shared_ptr
   1.1.10.6 weak_ptr
   1.1.10.7 make function
   1.1.10.8 smart pointer Scenario
  1.1.11 overload and name hiding
   1.1.11.1 overload
   1.1.11.2 operator overload
  1.1.12 efficiency
  1.1.13 I/O
   1.1.13.1 I/O basic knowledge
   1.1.13.2 Input basic knowledge
   1.1.13.3 custom stream
   1.1.13.4 Input error
   1.1.13.5 Input Pattern
   1.1.13.6 Output
   1.1.13.7 file
   1.1.13.8 buffer and string buffer