Информация об изменениях

Сообщение Re[3]: ::operator new() в самописном стэке от 12.06.2023 9:03

Изменено 12.06.2023 9:10 rg45

Re[3]: ::operator new() в самописном стэке
Здравствуйте, Sm0ke, Вы писали:

S>Мне достаточно просто делать memmove() или memcpy() для элементов, которые я собираюсь в нём хранить.


Это неплохо было бы отразить в виде соответствующего констрейнта. Если концепты недоступны, то прибегнуть к помощи SFINAE:

template <typename, typename = void> class vector;

template <typename T>
class vector<T, std::enable_if_t<std::is_trivial_v<T>>> {
    /*...*/ 
};
Re[3]: ::operator new() в самописном стэке
Здравствуйте, Sm0ke, Вы писали:

S>Мне достаточно просто делать memmove() или memcpy() для элементов, которые я собираюсь в нём хранить.


Это неплохо было бы отразить в виде соответствующего констрейнта. Если концепты недоступны, то прибегнуть к помощи SFINAE:

template <typename, typename = void> class vector;

template <typename T>
class vector<T,std::enable_if_t<std::is_trivial_v<T> && std::is_standard_layout_v<T>>> {
    /*...*/ 
};