Класс шаблонов 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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