- When should static_cast, dynamic_cast, const_cast and reinterpret_cast be used?
- What are the basic rules and idioms for operator overloading in C++?
- Why would one replace default new and delete operators?
- What is the copy-and-swap idiom?
- What is the difference between #include and #include “filename”?
- What can I use to profile C++ code in Linux?
- C++ multithreading?
- When and how should dynamic memory allocation and pointers be used?
- What are move semantics?
- What is a smart pointer and when should I use one?
- What is the effect of extern C?
- If you're going to make a copy of something in a function, let the compiler do it in the parameter list.
- the goal of move-construction: to take the resources from another instance of the class, leaving it in a state guaranteed to be assignable and destructible.
rvalues
denote temporary objects which are destroyed at the next semicolon (to be more precise: at the end of the full-expression that lexically contains thervalue
).