0
В моей основной функции Я создаю массив:Обзор моего C++ многомерного указателя массива
char arr[0x10000][9];
В другом классе B
я хотел бы иметь указатель на этот массив:
typedef char memory[0x10000][9];
class B{
public:
B(memory* mem);
private:
memory* _mem;
}
и реализация
B::B(memory* mem){
this->_mem = mem;
}
И главная функция:
....
char arr[0x10000][9];
arr[0][0] = 7;
arr[0][1] = 7;
// and so on...
B* b = new B(&arr, true);
...
К сожалению, я могу получить доступ только _mem[0][0]
правильно, если я достигаю _mem[0][1]
, то я получаю случайное значение, но не тот, который я поставил в основном методе.
Кому принадлежит этот указатель (= он отвечает за освобождение этой памяти?) Скопированы ли ваши объекты (по значению)? Передано ли право собственности? –
[Что такое правило трех?] (Http://stackoverflow.com/q/4172722/3309790) – songyuanyao
Основная функция «владеет» массивом, и я хочу передать ее ссылкой на мой класс B, который будет только чтение из этого массива. Я отредактировал свой вопрос, чтобы сделать его более ясным. – netik