一、结论
1、用new或molloc分配的在堆上。
2、没用new或molloc,如果是在函数内定义的普通变量(非staic,非const),
那么是在栈上分配,如果做为类或结构体的成员,类或结构体在哪里分配,成员变量就在哪里分配。
二、定义方法
1、基础类型
int a; char c;
2、指针类型
int* a; char* c;
3、对象
Class1 c1; Struct1 s1;
Class1 c1(args); Struct1 s1(args);
3、对象指针类型
Class1* c1 = new Class1;
Struct1* s1 = new Struct1;
Class1* c1 = new Class1(args);
Struct1* s1 = new Struct1(args);
三、示例
1、源码
class HeapStackCls
{
public:
int a;
};
struct HeapStackStruct
{
int a;
};
class HeapStackTest
{
private:
void