在不使用C ++中的关键字new的情况下在堆栈上创建实例

时间:2019-02-05 13:47:41

标签: c++

当在堆栈上创建的实例超出其范围时,C ++编译器是否使用默认的析构函数?我有点困惑,因为我假设在堆上分配内存时会调用析构函数。我使用下面的代码示例。

enum Stage{starter, inbetween, graduating};
class Student
{
public:
   Student(const std::string & a_name, Stage a_stage);
private:
const std::string name;
}; 

和主要

int main( void )
{
    Student s1{"Konjit", graduate}; // student instance on stack
    return 0;
}

0 个答案:

没有答案