3.10/10 говорит:
Если программа пытается получить доступ к хранимому значению объекта через значение gl, отличное от одного из следующих типов, поведение не определено:
Однако термин «доступ» нигде не определен. В данном контексте это означает прочитать или прочитать или изменить?
В стандарте C это однозначно определяется как чтение или изменение. Однако в С++ 11 он, кажется, используется в разных значениях в разное время, например:
1.9/8:
Доступ к volatile-объектам оценивается строго по правилам абстрактной машины.
Ясно, что это предназначено для чтения или изменения, однако во многих других местах, таких как 1.10/24:
- получить доступ или изменить изменчивый объект, или
он используется так, как будто он означает только чтение.