Вопрос. Есть функция. Она берет из памяти данные в определенном количестве (16к слов), обрабатывает и выдает данные данные в другом количестве, сохраняя их в память. Далее мне надо работать с данными, которые в памяти. Вопрос: Как узнать размер данных полученных после функции? Они хранятся в переменной же. Пытался реализовать в следующем стиле:
conv((long long (*)[h][w])in, (long long (*)[h][w][in_c])B, (long long (*)[y][x])out, add+shift, mul+shift );
Copy(reinterpret_cast<int*>(out),reinterpret_cast<int*>(output[s_data_shift]), sizeof(out)/64);
Где conv - функция рабочая, а Copy функция копирования данных с аргументами:(source, destination, word(именно в словах!)). Пытаюсь узнать размер выходной переменной out с помощью sizeof() и делю на 64, чтобы получить количество слов. Доходя до этапа определенного далее по программе, все виснет из-за некорректности данных. Правильно ли я определяю размер?
Размер по указателю в памяти - заранее не известен. При обработке данных там где нужен размер выбирается один из нескольких способов.
C #define думаю всё понятно #define my_size 10*4*sizeof(long)
и пошли.
Теперь как передать размер через template. Для метода это делается например так
template<int N, int M> my_read(void* data) {
readbytes(myfile, data, sizeof(long)*N*M);
}
Размер можно вкладывать в аргуметы
template<int N, int M> my_read(long (*data)[N][M]){
readbytes(myfile, data, sizeof(long)*N*M);
readbytes(myfile, data, sizeof(*data)); // Даже так
}
На каждый template как правило создается отдельная реализация кода, поэтому подставлять в template можно только константы. Желательно не делать 100 вариантов-больших template функций, т.к. это приведёт к раздутию кода. Похожие template-конструкции встречал в видеокодеках и кодеках изображения, например в jpegd кодеке.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я реализовал простенький IEnumerable<CSVLine> для чтения CSV файлов
Объясните как передать active из листа с типом GameObject в лист типа bool ?
Доброго времени сутокВозникла проблема с регистрацией типов в IContainerRegistry с фабрикой