2016年10月24日

摘要: 创建一个含有虚函数的对象时, 编译器会实现 “初始化其VPTR以指向相应的VTABLE” 这个操作 ,而实现这个操作是通过 “插入隐藏代码至构造函数中” 故此时大量的内联构造函数会使代码长度增加导致效率下降 有时这足以抵消内联函数带来的调用代价的减小(实际上经常这样 一个推荐的做法是去掉这些内联构造 阅读全文
posted @ 2016-10-24 17:09 lettry47 阅读(321) 评论(0) 推荐(0) 编辑
 
摘要: 打印: 4 4 8 打印: 16 4 8 内存对齐的原故 非 4+8, 有4字节浪费 打印: 8 4 8 VPTR长度 打印: 1 4 8 编译器强制a长度非零(每个对象必须有一个相互区别的地址 还有些其他类型的指针没有贴代码上来 , qt中指针好像都是 8个字节而不是vs中4个字节(至少在我的机器 阅读全文
posted @ 2016-10-24 10:24 lettry47 阅读(1302) 评论(0) 推荐(0) 编辑