Так я определить указатель х указывая на п целых чисел, как:Динамическое распределение 2D массива в C++
int* x = new int [n];
Значения х изменения в цикле. В конце цикла хранить указатель х в 2D-указателе у, который был инициализирован, как:
int** y = new int* [n];
Я использую следующее выражение присваивания для хранения указателя на х в Ith элемент у:
y[i] = x;
с х указывает на одной и той же части памяти, но значения, хранящиеся в x, продолжают меняться, все элементы в 2D-массиве y будут получать последние значения, которые были сохранены в x во время последнего выполнения цикла.
Мой вопрос:
Есть в любом случае я могу отвязать х, откуда он был направлен и чтобы она указывала на новую часть памяти каждый раз, когда я хранить его адрес в у ? Таким образом, y хранит адрес в разных частях памяти, поэтому сохраняется история ответов, хранящихся в x. Также, пожалуйста, дайте мне знать, если этот метод (если это вообще возможно) быстрее, чем заполнение строк y с x на каждой итерации путем циклизации его элементов.
У вас может быть x новый массив std :: с n int, и я думаю, что это даст вам «unlink», за которым вы после. И вы могли бы выделить n из них для хранения в другом std :: array y. Если вы хотите наклониться к C, вы можете просто malloc другой массив x каждый раз, когда вы готовы сделать еще одну запись y. Но я склоняюсь к std :: array. – donjuedo
вы используете C++ - рассмотрите использование 'std :: vector' типов' std :: vector'. – Alnitak