在不创建任何类型对象的情况下声明向量和指针

zsp*_*par 0 c++ arrays pointers vector c++11

鉴于c ++类学生和声明:

  1. 一个可以容纳10个类型对象的数组Student:Student a[10];
  2. 一个数组,可以容纳10个类型的对象Student: Student *a[10];
  3. 一个STL向量c,可以容纳10个类型的对象Student: vector<Student> c;
  4. 一个STL向量,可以容纳10个类型的对象指针 Student:vector<Student*> d

如果不创建任何学生对象,可以声明4个中的哪一个(可以多于一个)?

我最初的想法是所有这些(a,b,c,d),但我被告知只有指针(b和d)才可以在不创建对象的情况下声明.我希望对此有所澄清.谢谢.

Ars*_*min 5

2,3,4.(1)已经有10名学生申报.(2)指针数组是如此不需要在Student对象中只需要学生令牌的声明(你可以让"class Student"空声明工作).(3)直到你没有把东西放在std中,向量是空的.但在这种情况下,您需要在范围内定义Student(例如"class Student {};"),因此限制比2更严格.(4)与2相同.