-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」関数に毎回どのようにテールを渡すのですか? 1つのユニークなptrがオブジェクトを指すことができますか? –
@PetarVelev - 彼は既にそうですが、**参照**を 'std :: unique_ptr'に渡します。 – StoryTeller
しかし、彼はその参照を渡すことができるように尾を追跡しなければならない。 2番目の最後の要素が既にオブジェクトの一意の所有権を保持しているため、彼は尾に別の 'unique_ptr'を作成できませんか? –