title: Vector of structs with const members?
body: <p>Let's say I have</p>
  
  <pre><code>#include &lt;string&gt;
  #include &lt;vector&gt;
  using namespace std;
  
  struct Student
  {
      const string name;
      int grade;
      Student(const string &amp;name) : name(name) { }
  };
  </code></pre>
  
  <p>How do I, then, keep a vector of students?</p>
  
  <pre><code>int main()
  {
      vector&lt;Student&gt; v;
  
      // error C2582: 'operator =' function is unavailable in 'Student'
      v.push_back(Student("john"));
  }
  </code></pre>
  
  <p>Is there even a way to do this, or must I allocate all the students on the heap, and store a pointer to each of them instead?</p>