• Qt中sizeof


    1 class a{
    2         int d;
    3 //        virtual void ssss();
    4     };
    5     qDebug() <<sizeof(a) << sizeof(int) << sizeof(void*);

    打印: 4 4 8

    2     class a{
    3         int d;
    4         virtual void ssss();
    5     };
    6     qDebug() <<sizeof(a) << sizeof(int) << sizeof(void*);

    打印: 16 4 8  内存对齐的原故 非 4+8, 有4字节浪费

    1     class a{
    2 //        int d;
    3         virtual void ssss();
    4     };
    5     qDebug() <<sizeof(a) << sizeof(int) << sizeof(void*);

    打印: 8 4 8  VPTR长度

    1     class a{
    2 //        int d;
    3         /*virtual */void ssss();
    4     };
    5     qDebug() <<sizeof(a) << sizeof(int) << sizeof(void*);

    打印: 1 4 8  编译器强制a长度非零(每个对象必须有一个相互区别的地址

    还有些其他类型的指针没有贴代码上来 , qt中指针好像都是 8个字节而不是vs中4个字节(至少在我的机器上

  • 相关阅读:
    Flask websocket
    Vuex
    Web框架的原理
    node.js
    nginx负载均衡实验
    nginx与location语法详解
    git安装与初始化
    Flask 中的 Render Redirect HttpResponse
    jQuery快速入门
    前端知识总结--css用div画环形圆
  • 原文地址:https://www.cnblogs.com/lt47/p/5992014.html
Copyright © 2020-2023  润新知