-2
Я хочу создать собственный список, основанный на умных указателях. Я хочу функцию, которую я могу добавить в свой список, но я не знаю, как изменить значение переменной next
в объекте, переданном функции, чтобы указать на вновь созданный объект. У кого-то есть идея?Как изменить индикацию умного указателя
#include <iostream>
#include <memory>
struct node
{
int value;
std::unique_ptr<node> next;
node() {
value = 0;
next = nullptr;
}
};
void add(std::unique_ptr<node> &w, int liczba)
{
std::unique_ptr<node> new_list_node{ new node };
}
int main()
{
std::unique_ptr<node> list_node{ new node };
add(list_node, 1);
return 0;
}
Как бы он каждый раз пропускал хвост функции 'add', если только один уникальный ptr может указывать на объект? –
@PetarVelev - Как он уже делает, передавая ** ссылку ** на 'std :: unique_ptr'. – StoryTeller
, но он должен следить за хвостом, чтобы передать эту ссылку. И если он не может создать другой 'unique_ptr' для хвоста, потому что второй последний элемент уже обладает уникальной собственностью объекта? –