Этот вопрос строит прочь ранее задаваемый вопрос: Pass by reference multidimensional array with known sizeC++ Передача динамически выделенной 2D массив по ссылке
Я пытался выяснить, как получить мои функции, чтобы хорошо играть с 2d массив ссылок. Упрощенная версия моего кода:
unsigned int ** initialize_BMP_array(int height, int width)
{
unsigned int ** bmparray;
bmparray = (unsigned int **)malloc(height * sizeof(unsigned int *));
for (int i = 0; i < height; i++)
{
bmparray[i] = (unsigned int *)malloc(width * sizeof(unsigned int));
}
for(int i = 0; i < height; i++)
for(int j = 0; j < width; j++)
{
bmparray[i][j] = 0;
}
return bmparray;
}
Я не знаю, как я могу переписать эту функцию так, что она будет работать там, где я прохожу bmparray как пустой неподписанных INT ** по ссылке, чтобы я может выделить пространство для массива в одной функции и установить значения в другом.
Это похоже на много плиты котла, чтобы передать массив. Если он только когда-либо работает с необработанными данными, зачем переносить его в класс? – BigSandwich
Это зависит от того, сколько разных операций выполняется над данными, но я считаю, что даже для операции инициализации и управления памятью стоит использовать класс. – jturcotte
Согласен. Я бы не выделил ресурс, не упаковал его каким-то образом. –