<h3>C++ FAQ sections</h3><br><hr noshade size="4">
- <a href="#cpp_general">General</a>
- <a href="#cpp_preprocessor">Preprocessor</a>
- <a href="#cpp_classes">Classes</a>
- <a href="#cpp_memory_management">Memory Management</a>
- <a href="#cpp_operator">Operator</a>
- <a href="#cpp_exception">Exception Handling</a>
- <a href="#cpp_structure">Structure</a>
- <a href="#cpp_casting">Casting</a>
- <a href="#cpp_callback">Callback</a>
- <a href="#cpp_template">Template</a>
- <a href="#cpp_polymorphism">Polymorphism</a>
- <a href="#cpp_design_pattern">Design Pattern</a>
- <a href="#cpp_profiling">Profiling</a>
- <a href="#cpp_random_number">Random Number</a>
- <a href="#cpp_string">String</a>
<a name="cpp_general"><h3>General</h3></a><br><a name="cpp_preprocessor"><h3>Preprocessor</h3></a>
- What are good books about C++?
- How do I convert between big-endian and little-endian values?
- What do 'ntohl()' and 'htonl()' actually do?
- How to declare and use two-dimensional arrays?
- What are different number representations?
- How is floating point representated?
- How to deal with references?
- What are the principles of Object-Oriented Design?
- What are the differences between inline functions and macros?
- What is the 'this' pointer?
- What are different methods to pass parameters to functions?
- What are C++ Headers?
- How to minimise mutual dependencies?
- What are different methods to access identifiers from a namespace?
<br><a name="cpp_classes"><h3>Classes</h3></a>
- How to avoid problems with include files?
- What are '__FILE__' and '__LINE__'?
- What is the purpose of include guards?
<br><a name="cpp_memory_management"><h3>Memory Management</h3></a>
- What is the initialization list and why should I use it?
- What members of a class are implicitly defined?
- What are the differences between classes and structs?
- Does implicitly-defined copy constructor bitwise copy?
- Which are the differences between 'struct' and 'class'?
<br><a name="cpp_operator"><h3>Operator</h3></a>
- What is the difference between 'delete' and 'delete[]'?
- How to release memory for an array of pointers?
- Why does deleting a pointer cause my program to crash?
- Why does declaring an array cause my program to crash?
- What is the difference between 'const char*' and 'char*const'?
- What are the differences between constant objects?
- What is the purpose of a constant reference?
- What is the difference between malloc/free and new/delete?
<br><a name="cpp_exception"><h3>Exception Handling</h3></a><br><a name="cpp_structure"><h3>Structure</h3></a>
- How to overload postfix increment and decrement operators?
- Why should I use '++i' instead of 'i++'?
- How to deal with operator overloading?
<br><a name="cpp_casting"><h3>Casting</h3></a><br><a name="cpp_callback"><h3>Callback</h3></a><br><a name="cpp_template"><h3>Template</h3></a><br><a name="cpp_polymorphism"><h3>Polymorphism</h3></a><br><a name="cpp_design_pattern"><h3>Design Pattern</h3></a><br><a name="cpp_profiling"><h3>Profiling</h3></a>
- How do I write a structure to a file?
- Why returns 'sizeof()' a bigger size than the members actually need?
<br><a name="cpp_random_number"><h3>Random Number</h3></a>
- How do I determine the speed of a particular function or operation?
- Which is faster: <...> or [...]?
- How can I optimize my code?
<br><a name="cpp_string"><h3>String</h3></a>
- Why does my random number generator always return the same set?
- What are good random number generators?
<br><br>
- What types of strings are there?
- What is the difference between '\n' and '\r\n'?
- How to use 'CString' in non-MFC applications?
- How to assign or compare strings?
- What is the difference between 'CString' and 'std::string'?
- How to convert between 'CString' and 'std::string'?
- How to convert a numeric type to a string?
- How to convert a string into a numeric type?
