У меня есть массив пикселей размером 1049088 на моем компьютере, и я хочу заполнить его полностью. Но когда я использую memset, он просто заполняется точкой массива, а не целым блоком.
Я перешел к http://www.cplusplus.com/reference/cstring/memset/ и ничего не говорит о максимальном размере. Кроме того, моя переменная - size_t (unsigned int), поэтому она должна выдать ошибку, если я поставлю более высокое значение, чем ожидалось, но оно находится в диапазоне.
memset((void*)pixels, BLACK_CLR, w_widthxheight);
Значение w_widthxheight - это size_t, который содержит 1049088. Пиксели - это массив COLORREF с размером той же переменной (w_widthxheight). Константа BLACK_CLR содержит 0.
Если есть какая-либо альтернатива memset, потому что я читал, что она где-то неэффективна (но отлично работает с первыми значениями x массива), это тоже будет хорошо.