设为首页 加入收藏

TOP

关于类的几点说明
2019-03-13 18:08:28 】 浏览:25
Tags:关于 说明

类的存储

类可以当成一个结构体。空类与空结构体一样,只有一个字节。原因是为了实例化,摘自网上的引用句子为“一个类能够实例化,编译器就需给它分配内存空间,来指示类实例的地址;这里编译器默认分配了一个字节(如:char),以便标记可能初始化的类实例,同时使空类占用的空间也最少(即1字节)”。

类的(非虚拟)成员函数,成员函数是不占类的存储空间的,即使继承也一样,这个与OC的ISA指针是不一样的。

类的虚拟函数,会让类申请一个指针变量的存储空间;不管是否继承父类,只要有virtual修饰符声明的函数,就会存在一个虚表指针变量(vptr),该指针指向的类的虚拟表(vtable), 而且仅会有一个,不会因为继承或非继承有多个虚拟函数出现多个。

类的成员函数跟普通的函数一样是在text区,存在类域与访问权限(public, private...)的限制,属于类层级;而关于非静态成员函数的this指针变量,这个与形参一致,代码在编译期就已经决定了。

 




编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇洛谷P4841 城市规划(生成函数 多.. 下一篇LeetCode_#7_整数反转 Reverse In..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }