Задание объекта структуры без изменения значений - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть это

struct node {
    vector<vector<int>> *a;
    node(){
        a = new vector<vector<int>>(1001, vector<int>(1001, 0));
    }
    node(node *b) : a(b->a) {}
};

Теперь в основной функции я делаю это

node *a = new node();
node *b = new node(a);
(*b->a)[3][5] = 100;
cout << (*a->a)[3][5];

Здесь, когда я изменяю значение массива в объекте b, оно также изменяется в a. Но я формирую новый объект при назначении объекта б. Я хочу иметь возможность создавать новый объект, назначая и изменяя нужные значения во вновь созданном объекте, не изменяя значения в объекте, из которого он был скопирован (в данном случае это объект a). Точно так же, как мы делаем в постоянных сегментных тройниках. Как правильно это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...