История изменений
Исправление fsb4000, (текущая версия) :
Несмотря на то что использовался move ctor который мог сломаться, vector остался бы в нормальном состоянии.
Я посмотрел стандартную библиотеку и там так:
void push_back(const _Ty& _Val)
{
// insert element at end, provide strong guarantee
emplace_back(_Val);
}
void push_back(_Ty&& _Val)
{
// insert by moving into element at end, provide strong guarantee
emplace_back(std::move(_Val));
}
template<class... _Valty>
decltype(auto) emplace_back(_Valty&&... _Val)
Исправление fsb4000, :
Несмотря на то что использовался move ctor который мог сломаться, vector остался бы в нормальном состоянии.
Я посмотрел стандартную библиотеку и там так:
void push_back(const _Ty& _Val)
{
// insert element at end, provide strong guarantee
emplace_back(_Val);
}
void push_back(_Ty&& _Val)
{
// insert by moving into element at end, provide strong guarantee
emplace_back(std::move(_Val));
}
Исправление fsb4000, :
Несмотря на то что использовался move ctor который мог сломаться, vector остался бы в нормальном состоянии.
Я посмотрел стандартную библиотеку и там так:
void push_back(_Ty&& _Val)
{
// insert by moving into element at end, provide strong guarantee
emplace_back(std::move(_Val));
}
Исходная версия fsb4000, :
Несмотря на то что использовался move ctor который мог сломаться, vector остался бы в нормальном состоянии.
Я посмотрел стандратную библиотеку и там так:
void push_back(_Ty&& _Val)
{
// insert by moving into element at end, provide strong guarantee
emplace_back(std::move(_Val));
}