Что такое multimap :: emplace () и move ()?

Я просматривал документ MSDN о multimap и обнаружил, что в нем есть функция-член multimap :: emplace (). Ниже приведен пример этой функции-члена.

int main( ) {
   using namespace std;
   multimap<int, string> m1;
   pair<int, string> is1(1, "a");

   m1.emplace(move(is1));
}

Кажется, что emplace () и move () являются C ++ 0x. Кто-нибудь может мне их объяснить? Я читал о move () , но действительно не понимаю, что он делает (под капотом).

11
задан templatetypedef 29 March 2011 в 08:49
поделиться