Attempts to read or modify an object of class type
typically invoke a constructor (
[class.ctor])
or assignment operator (
[class.copy.assign]);
such invocations do not themselves constitute accesses,
although they may involve accesses of scalar subobjects
.