Класс шаблонов C ++: хорошей практикой для принятия владения участниками по аргументации шаблона? [закрыто]C++

Программы на C++. Форум разработчиков
Anonymous
Класс шаблонов C ++: хорошей практикой для принятия владения участниками по аргументации шаблона? [закрыто]

Сообщение Anonymous »

Я сталкиваюсь с проблемой дизайна, рассмотрите следующий код: < /p>

Код: Выделить всё

template
class some_class {
public:
template
some_class(T_&& value) : value_(std::forward(value)) {}
private:
T value_;
};
Мы можем создать тип значения t, такой как oce_class или ссылочный тип some_class , neome_class удерживает владение вектором в первом использовании, а не во второй. Мы не можем четко выяснить владение Value_ В таких случаях эта двусмысленность усложняет управление жизнью объекта, особенно в крупных проектах. Я спрашиваю: «Это хорошая практика для разработки такого класса шаблонов, который позволяет пользователю решать владение с помощью аргумента шаблона». < /P>
сравнить со следующим кодом: < /p>

Код: Выделить всё

template
class some_class {
public:
...
private:
std::decay_t value_;
};
В такой дизайне oke_class ясно удерживает владение Value_, и тот, кто использует некоторую_КЛАСС, может безопасно оставить управление временем Value_ to_class.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... y-template

Вернуться в «C++»