初始化 struct 变量

1、C 语言中的 struct

在C语言中,定义一个 struct 变量的同时不能对其(成员)进行初始化 ,即成员没有默认值。它只能在定义对象时,对对象的成员变量进行初始化。

如:

struct widget
{
    int a;
    int b;
    bool flag;
};

//1
widget w = {0, 0, false};
//or 2
widget w;
w.a = 0;
w.b = 0;
w.flag = false;


2、C++中的struct

由于在C++中,struct 其功能就是一个class,只是它的成员变量默认为public,即可以利用C++类中的初始化列表在定义struct的同时对其成员进行初始化。

如:

struct widget
{
    widget():a(0), b(0), flag(false){}
    int a;
    int b;
    bool flag;
};


References:

http://stackoverflow.com/questions/5465896/about-default-c-struct-values-what-about-this-code



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值