在C++中有四种方法可以产生一个对象,他们分别保存于内存中的堆栈(Stack),堆(Heap),全局对象和局部静态对象。
1.在堆栈中产生,这种方法运行比较快,但是不能保存比较大的数据。
在任何函数外定义:CFoo foo;//
4.局部静态对象。
1.在堆栈中产生,这种方法运行比较快,但是不能保存比较大的数据。
1
void
MyFunc()
2 {
3 CFoo foo; // 在堆栈中产生CFoo对象。
4 }
2.在堆中产生对象。
2 {
3 CFoo foo; // 在堆栈中产生CFoo对象。
4 }
1
void
MyFunc()
2 {
3 CFoo * foo = new CFoo; / /在堆中产生对象。
4 }
3.全局对象。
2 {
3 CFoo * foo = new CFoo; / /在堆中产生对象。
4 }
在任何函数外定义:CFoo foo;//
4.局部静态对象。
void
MyFunc()
{
static CFoo foo; //存储于静态区
}
{
static CFoo foo; //存储于静态区
}
记得在Heap中声明对象时,用到的是指针,这个很容易和C#混起来。
本文转自网魂小兵博客园博客,原文链接:http://www.cnblogs.com/xdotnet/archive/2007/10/26/mfc_objects.html,如需转载请自行联系原作者