Если создан полный объект ([expr.new]) в хранилище, связанном с другим объектом E типа «массив n unsigned char» или типа «rafse of n std :: bytte», (cst hy.shs.s. Массив предоставляет хранилище для созданного объекта [...]
[basic.types.general#4] , также конкретно относится к:
n unsigned char -obj /> В качестве потенциально достоверного представления объекта полного объекта t.
из вышеупомянутых параграфов можно предположить, что создание объекта в хранилище, связанном с другим объектом e , который не типа «массив N unsigned char» или «Array of n Std :: Неопределенным поведением не определяется, чтобы не определить поведение, не определяемое, не определено, что не определено, не определено, не определено. Действителен. Написать потоковые функции вместо беспигенерации char*?
Код: Выделить всё
using ostream = basic_ostream;
using iostream = basic_iostream;
Код: Выделить всё
using char_type = charT;
basic_istream& read(char_type* s, streamsize n);
using char_type = charT;
basic_ostream& write(const char_type* s, streamsize n);
< /code>
Если char* не действителен или не рекомендуется для буфера, почему бы не использовать unsigned char* < /code> здесь?>
Подробнее здесь: https://stackoverflow.com/questions/796 ... igned-char
Мобильная версия