【原创】指针与实例的问题
typedef struct
{
vector<string> name;
vector<double> score;
}Student;
有个问题,为啥声明为 Student *stu; 然后 stu->name.push_back(name);运行时会有问题,但是编译无问题~~ ;
Student stu;
stu.name.push_back(name);
这样就没问题,为啥?
答:声明为 Student *stu ,只是定义个一个指针叫做stu,但是还没有student实例,你执行stu->的时候,没有实例。
Student stu; 这样的话,会默认调用构造函数,创建一个实例 。
//-----------------------精彩评论--------------------------
#4楼 2015-01-09 08:53 RonTang
作者:宋桓公
出处:http://www.cnblogs.com/douzi2/
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
Student stu;利用默认构造函数初始化stu对象。stu是栈对象,在脱离作用域后自动销毁。