title: How many copies will this code perform?
body: <p>(From an interview) How many copies of struct A might be performed when function DoSomething is called? If the number of copies is variable, how does it depend on the factors affecting it?</p>
  
  <pre><code>struct A
  {
      int data[256];
  };
  
  A DoSomething(A a)
  {
      A b = a;
      b.data[rand()%256] = 1;
      return b;
  }
  </code></pre>