Вопрос, который я недавно пытался ответить, представлял собой ошибку в поддержке C++ 11 vs2012.Выполняет ли Visual Studio 2012 это правильно? std :: move
В частности, ему не удалось скомпилировать std :: map с помощью неконвертируемого значения value_type, несмотря на то, что для вставки в карту используется только std :: move. Выбрана либо неправильная перегрузка вставки, либо компилятор не рассматривает альтернативу.
В принципе, я wan't знать, если следующий код:
#include <iostream>
#include <memory>
#include <utility>
#include <type_traits>
class Foo {
};
using namespace std;
int main() {
cout << is_constructible<pair<const int,unique_ptr<Foo> >, pair<const int,unique_ptr<Foo> >& >::value << '\n';
cout << is_constructible<pair<const int,unique_ptr<Foo> >, pair<const int,unique_ptr<Foo> >&& >::value << '\n';
}
дает выходной сигнал 01.
Я также имел проблемы с Visual Studio 2013 с использованием зЬй :: двигаться – Tips48
@ Tips48 так ли был ваш вопрос! маленький мир – user3125280