一个难问题:函数参数的内存是如何分配的?
(真的很难吗?)
我们知道函数参数的内存是在栈中的。但具体是如何分配的?例如,参数的类型是一个class(体积很大)。这时候,针对这个类的new是不是被调用了?而我知道new 是在堆中分配内存的。哪编译程序难道知道我的类的大小?
class myClass
{
public:
int a[5000];
};
void func( myClass aa ) //-- bad style, but question comes from here
{
....
}
void main()
{
myClass mc;
func( mc ); //-- new 被调用了吗?
}