Вектор структур с членами const?

Допустим, у меня есть

#include <string>
#include <vector>
using namespace std;

struct Student
{
    const string name;
    int grade;
    Student(const string &name) : name(name) { }
};

Как мне тогда сохранить вектор учеников?

int main()
{
    vector<Student> v;

    // error C2582: 'operator =' function is unavailable in 'Student'
    v.push_back(Student("john"));
}

Есть ли вообще способ сделать это, или я должен выделить всех учеников в куче и сохранить вместо этого указатель на каждый из них?

11
задан Mehrdad 11 December 2011 в 22:17
поделиться