成员函数的内存分配
时间:2010-05-16 来源:Codeplayer
1、所有函数代码都在程序编译连接时放在一块,称为代码区,无论是静态还是非静态函数都一样,不存在 "构造一个类的对象(第一次构造对象)时,就会给成员函数(非静态成员函数)分配代码区空间 ",而是程序加载时,所有的代码已在内存空间存在. 只有函数中用到的局部变量才是函数调用时分配空间.
2、静态成员函数和成员函数之间根本的区别是:静态成员函数实际上是一个全局函数,不依赖一个类的对象.函数定义时之所以把静态成员函数定义在类中,是一 种弱逻辑. 普通成员函数依赖一个类的对象,也就是它有this指针,必须指向一个类的对象.
3、建立类的对象时只是给成员变量分配空间,析构时也只回收这些空间,代码段里的函数以及静态函数和变量都是在程序结束后回收。
相关阅读 更多 +