230406

230406:

1.结构体和联合体的区别?结构体里可不可以定义函数?

结构体中定义函数

1.结构体声明变量的集合,结构体的成员都是公开的,结构体的大小跟成员数量,和成员类型有关。在内存中存在间隔,有一定的排序方式。倍数对其。

2.共用体,也就是联合体。使用同一个内存存储多个不同类型的变量。共用体的大小是成员中最大成员的字节大小。共用体赋值是一种内存覆盖时,会覆盖上一个存储值。

3.在c中,结构体中只能定义数据而不能定义函数;而在c++中,结构体中是可以定义函数的 。结构体中也可以包含构造函数和析构函数,这是因为结构体和类基本雷同,唯一区别是,类中成员变量默认为私有,而结构体中则为公有。注意,C++中的结构体是可以有析构函数和构造函数,而C则不允许。

4.共用体,它是不可能有析构函数和构造函数的。

//智能事件信息
struct PersonInfo
{
    QString PersonType;
    union
    {
        void* info; 
       PersonGeneralInfo* alarmInfo;
    };

    PersonInfo() : ivsEventType(Unknown), info(nullptr) {}
    PersonInfo(const QString& type, void* pInfo) : PersonInfo(type), info(pInfo){}

    ~PersonInfo()
    {
        if (info == nullptr) //union 共用内存,相当于判断 alarmInfo
            return;
        delete alarmInfo;

}

}

 2.信号与槽的优缺点?

3.进程和线程?

4.多线程操作,僵尸进程?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值