四种不同的对象生存方式

来源:互联网 发布:seo转行能做什么 编辑:程序博客网 时间:2024/05/29 07:33

在C++ 中,有四种方法可以产生一个对象。

 

第一种方法是在堆栈(stack)之中产生它:

void MyFunc()
{
CFoo foo; // 在堆栈(stack)中产生foo 对象
...
}

 

第二种方法是在堆积(heap)之中产生它:
void MyFunc()
{
...
CFoo* pFoo = new CFoo(); // 在堆(heap)中产生对象
}

 

第三种方法是产生一个全域对象(同时也必然是个静态对象):
CFoo foo; // 在任何函数范围之外做此动作

 

第四种方法是产生一个区域静态对象:
void MyFunc()
{
static CFoo foo; // 在函数范围(scope)之内的一个静态对象
...
}