I've seen a recurring mistake made by well-versed C++03 programmers when they set out to use rvalue references for the first time. In fact, as it turns out, better you are at C++03, easier it is to fall in the trap of rvalue reference anti-pattern I'm gonna talk about.   Consider the following C++03 class:    class Book { public:   Book(const std::string & title,        const std::vector<std::string> & authors,        const std::string & pub,        size_t pub_day        const std::string & pub_month,        size_t pub_year)     : _title(title),       _authors(authors),       _publisher(pub),       _pub_day(pub_day),       _pub_month(pub_month),       _pub_year(pub_year)      {}       // ....      // ....  private:   std::string _title;   std::vector<std::string> _authors;   std::string _publisher;   size_t      _pub_day;   std::string _pub_month;   size_t      _pub_year; };    The Book  class above is as dull as it can be. Now lets C++11'fy it!...
A blog on various topics in C++ programming including language features, standards, idioms, design patterns, functional, and OO programming.