title: Copy array in constexpr constructor
body: <p>I wrote a class with a <code>constexpr</code> copy constructor. (It is a struct in example to make it simpler.) One of the fields is an array. I want copy it too.</p>
  
  <pre><code>struct Foo
  {
      static constexpr int SIZE = 4;
      constexpr Foo() = default;
      constexpr Foo(const Foo &amp;foo) :
              arr{foo.arr[0], foo.arr[1], foo.arr[2], foo.arr[3]},
              bar(foo.bar+1) {}
      int arr[SIZE] = {0, 0, 0, 0};
      int bar = 0;
  };
  </code></pre>
  
  <p>My version works but it isn't scalable. If I change <code>SIZE</code>, I have to modify the constructor. In addition, code looks ugly.</p>
  
  <p>Is it any better way to copy array in constructor? Constructor must be <code>constexpr</code>.</p>