описания на cppref?
Выглядит так, словно бы
> If the object is a potentially-overlapping subobject or is not TriviallyCopyable (e.g., scalar, C-compatible struct, or an array of trivially copyable type), the behavior is undefined.
реинтерпретирует это положение, но оснований для таких выводов я, честно говоря, не вижу: насколько мне известно, Стандарт разрешает всего два действия подобного характера, описанных в этом и следующем пункте, ни одно из которых, дополненных последующими определениями obj-repr и val-repr, не обеспечивает допустимость изменения значения через манипуляцию чем-либо из перечисленного на уровне индивидуальных байтов (char'ов) в общем случае. Следует считать, что раз относительно <cstring> заявлена идентичность состава и смысла, memset() оказывается можно использовать в случаях, в которых можно в C (сомнительно), или я все-таки что-то упускаю?
мне кажется, cppref полагается на basic#types.general-4.sentence-4
Гм, determines, наверное, действительно можно считать достаточным основанием. Edit: Избыточным, впрочем, тогда представляется самостоятельное утверждение пунктов 2 и 3, если они оказываются вытекающими из однозначного соответствия значения val-repr'у (разве что ради уточняющего исключения potentially-overlapping subobjects).
Обсуждают сегодня