未知类函数指针的size
发布日期:2021-06-30 22:07:59
浏览次数:2
分类:技术文章
本文共 789 字,大约阅读时间需要 2 分钟。
今天同学那有了一段稀罕代码, 计算出的类函数指针size = 16. 他也找到了原因.
我也学习一下.
class CUnknownClass; ///< 不存在的类/// 只定义一个不存在的类的函数指针是不会错的的typedef void (CUnknownClass::*PFN_ClassMethod)();class A{public: PFN_ClassMethod m_pClassMethod;};void fnTestUnknownClassPtSize(){ int nSize = 0; PFN_ClassMethod pClassMethod = NULL; A testA; nSize = sizeof(pClassMethod); cout << "sizeof(pClassMethod) = " << nSize << endl; nSize = sizeof(testA); cout << "sizeof(testA) = " << nSize << endl; /** run result sizeof(pClassMethod) = 16 sizeof(testA) = 16 */ /** 资料 : 成员函数指针size不是4的原因 首先是大小的改变。 虽然“成员函数指针”是一种指针,但它所占的空间却可能比一般指针要大。 以VC为例(VC6至VC2010均如此),在单继承、多继承、虚拟继承的情况下, 成员函数指针的大小分别为4字节、8字节、12字节。 如果不知道一个类是否继承(此时这个类只有一份向前声明,而没有提供实际定义), 则它的成员函数指针最多可以占据16个字节,大大的超过了一般指针的4字节。 */}
转载地址:https://lostspeed.blog.csdn.net/article/details/50375980 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年05月04日 02时21分48秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
COMP7404 Machine Learing——KNN
2019-04-30
COMP7404 Machine Learing——SVM
2019-04-30
COMP7404 Machine Learing——ROC
2019-04-30
Python量子计算qiskit
2019-04-30
Python的多线程不是真的多线程(GIL全局解释器锁)
2019-04-30
Python手动读取MNIST数据集
2019-04-30
Python手动读取CIFAR-10数据集
2019-04-30
Pytorch(十一) —— 分布式(多GPU)训练
2019-04-30
Deeplab v3
2019-04-30
tensor/矩阵/图片等更换通道,调整size
2019-04-30
本地和colab 中 改变tensorflow的版本
2019-04-30
CUB-200鸟类数据集
2019-04-30
Python反射机制
2019-04-30
YAPF —— Python代码格式化工具
2019-04-30