title: Why does the = operator work on structs without having been defined?
body: <p>Let's look at a simple example:</p>
  
  <pre><code>struct some_struct {
     std::string str;
     int a, b, c;
  }
  
  some_struct abc, abc_copy;
  abc.str = "some text";
  abc.a = 1;
  abc.b = 2;
  abc.c = 3;
  
  abc_copy = abc;
  </code></pre>
  
  <p>Then abc_copy is an exact <strong>copy</strong> of <code>abc</code>.. how is it possible <strong>without</strong> defining <em>the = operator</em>?</p>
  
  <p>(This took me by surprise when working on some code..)</p>