c++-faq 139

  1. The Definitive C++ Book Guide and List
  2. What are the differences between a pointer variable and a reference variable in C++?
  3. What does the explicit keyword mean?
  4. When should static_cast, dynamic_cast, const_cast and reinterpret_cast be used?
  5. Why is “using namespace std” considered bad practice?
  6. What are the basic rules and idioms for operator overloading?
  7. What is The Rule of Three?
  8. What is the copy-and-swap idiom?
  9. What is a smart pointer and when should I use one?
  10. Why can templates only be implemented in the header file?
  11. What are move semantics?


  12. What is an undefined reference/unresolved external symbol error and how do I fix it?
  13. What is a lambda expression in C++11?
  14. What are rvalues, lvalues, xvalues, glvalues, and prvalues?
  15. Undefined behavior and sequence points
  16. Do the parentheses after the type name make a difference with new?
  17. Where and why do I have to put the “template” and “typename” keywords?
  18. What are the new features in C++17?
  19. What are the rules about using an underscore in a C++ identifier?
  20. What are POD types in C++?
  21. Why should C++ programmers minimize use of 'new'?
  22. What is the difference between a definition and a declaration?
  23. What is the strict aliasing rule?
  24. Why use apparently meaningless do-while and if-else statements in macros?
  25. std::wstring VS std::string
  26. What does the C++ standard state the size of int, long type to be?
  27. What is object slicing?
  28. What does T&& (double ampersand) mean in C++11?
  29. Meaning of “const” last in a C++ method declaration?
  30. Why isn't sizeof for a struct equal to the sum of sizeof of each member?
  31. When can I use a forward declaration?
  32. Why is iostream::eof inside a loop condition considered wrong?
  33. What are Aggregates and PODs and how/why are they special?
  34. Iterator invalidation rules
  35. How do I use arrays in C++?
  36. Undefined, unspecified and implementation-defined behavior
  37. C++: “std::endl” vs “\n”
  38. Where do I find the current C or C++ standard documents?
  39. What are the differences between struct and class in C++?
  40. What's the difference between “STL” and “C++ Standard Library”?
  41. Advantages of using forward
  42. How does the compilation/linking process work?
  43. How to implement classic sorting algorithms in modern C++?
  44. What XML parser should I use in C++?
  45. Resolve build errors due to circular dependency amongst classes
  46. What is external linkage and internal linkage?
  47. What is this weird colon-member (“ : ”) syntax in the constructor?
  48. What are copy elision and return value optimization?
  49. Why is enum class preferred over plain enum?
  50. Can a C++ class member function template be virtual?