Сообщение Re: move argument от 16.11.2015 13:54
Изменено 16.11.2015 13:58 Igore
Здравствуйте, Logot, Вы писали:
L>MS VS 2013
L>Как можно сделать, чтобы работало?
Проверил на 2015, хотя это может не совсем то что тебе нужно
L>MS VS 2013
L>Как можно сделать, чтобы работало?
Проверил на 2015, хотя это может не совсем то что тебе нужно
#include <utility>
struct movable
{
};
class one
{
public:
one(movable&& m)
: _m(m)
{}
movable _m;
};
class creator
{
public:
template<typename S, typename ... Args>
static S* create(Args ... args)
{
return new one(std::move(args ...));
}
};
int main(int , char** )
{
movable m;
creator::create<one, movable&&>(std::move(m));
return 0;
}
Re: move argument
Здравствуйте, Logot, Вы писали:
L>MS VS 2013
L>Как можно сделать, чтобы работало?
Проверил на 2015
L>MS VS 2013
L>Как можно сделать, чтобы работало?
Проверил на 2015
#include <utility>
struct movable
{
};
class one
{
public:
one(movable&& m)
: _m(m)
{}
movable _m;
};
class creator
{
public:
template<typename S, typename ... Args>
static S* create(Args ... args)
{
return new one(std::move(args ...));
}
};
int main(int , char** )
{
movable m;
creator::create<one, movable&&>(std::forward<movable>(m));
return 0;
}