C++对象,动态和静态的区别

Gre*_*reg 4 c++

以下两种方式创建类对象有什么区别:

class cat 
{
  private: 
     int age; 
  public: 
     cat(); 
}; 


int main(void) 
{
  cat object; // static object 
  cat *pointer = new cat(); // dynamic object 
}
Run Code Online (Sandbox Code Playgroud)

Ann*_*nna 5

第一个是声明一个静态变量(通常在堆栈*上),该变量将在定义它的代码块的末尾处消失。

第二个是动态分配一个变量(通常在堆上*),这意味着您可以决定使用delete[]在哪里释放它(是的,您应该记住这样做)。