title: Does copying an empty object involve accessing it
body: <p>Inspired from <a href="https://stackoverflow.com/a/48273386/4832499">this</a> question.</p>
  <pre><code>struct E {};
  E e;
  E f(e);  // Accesses e?
  </code></pre>
  <p>To <a href="https://timsong-cpp.github.io/cppwp/defns.access" rel="noreferrer">access</a> is to</p>
  <blockquote>
  <p>read or modify the value of an object</p>
  </blockquote>
  <p>The empty class has an <a href="https://timsong-cpp.github.io/cppwp/class.copy.ctor#14" rel="noreferrer">implicitly defined copy constructor</a></p>
  <blockquote>
  <p>The implicitly-defined copy/move constructor for a non-union class <code>X</code> performs a memberwise copy/move of its bases and members. [...] The order of initialization is the same as the order of initialization of bases and members in a user-defined constructor. Let <code>x</code> be either the parameter of the constructor or, for the move constructor, an xvalue referring to the parameter. Each base or non-static data member is copied/moved in the manner appropriate to its type:</p>
  <ul>
  <li>[...] the base or member is direct-initialized with the corresponding base or member of <code>x</code>.</li>
  </ul>
  </blockquote>