Как я могу сделать Equivelant из:
#include <vector>
size_t bufferSize = 1024 * 1024;
std::vector<unsigned char> buffer(bufferSize, ' ');
С инициализацией списка (в фигурных скобках)?
Когда я пытаюсь сделать следующее:
#include <vector>
size_t bufferSize = 1024 * 1024;
std::vector<unsigned char> buffer {bufferSize, ' '};
Он неправильно интерпретирует bufferSize
как значение, которое будет сохранено в первом индексе контейнера (то есть вызывает неправильный конструктор std::vector
), и не может скомпилироваться из-за недопустимого сужающего преобразования из unsigned int
(size_t
) в unsigned char
.