struct Student{
string name;
int age;
void init(string _name, int _age)
{
name = _name;
age = _age;
}
Student(string _name, int _age)
:name(_name), age(_age){}
};
void test()
{
unordered_set<Student*> st;
Student s1, &s2 = s1, s3("cat", 5), s4{"cat", 5}, s5(s3);
s1.init("cat", 5);
st.insert(&s1);
st.insert(&s2);
st.insert(&s3);
st.insert(&s4);
st.insert(&s5);
cout << st.size();
}
上述代码中,test
函数的运行结果是什么?请说明原因。