M
mask047
Unregistered / Unconfirmed
GUEST, unregistred user!
先看两个函数:
f(int a);
F(Class1 object1);
在调用时f(b)是值传递,不能改变b的值。而F(object2)可以改变object2的成员变量(至少在java中是这样)。所以我怀疑对象名其实是指针。最近又有朋友和我说其实变量名(包括对象名)对于编译系统来讲,全是指针。
我不知道他说的对不对,不过我想可能对于每一层(stack的每一层)都有一个符号表,记录变量名(包括对象名)和它的内存位置(指针)。所以有了上面的结论。
我的问题是:
有谁知道C/C++的的编译系统的内存分配机制的,特别是关于对象的内存和函数的代码内存方面的?
100分全部送上,或则介绍本书也可以!
f(int a);
F(Class1 object1);
在调用时f(b)是值传递,不能改变b的值。而F(object2)可以改变object2的成员变量(至少在java中是这样)。所以我怀疑对象名其实是指针。最近又有朋友和我说其实变量名(包括对象名)对于编译系统来讲,全是指针。
我不知道他说的对不对,不过我想可能对于每一层(stack的每一层)都有一个符号表,记录变量名(包括对象名)和它的内存位置(指针)。所以有了上面的结论。
我的问题是:
有谁知道C/C++的的编译系统的内存分配机制的,特别是关于对象的内存和函数的代码内存方面的?
100分全部送上,或则介绍本书也可以!