C/C++“潜规则”之——默认数据类型

原则上来说,C/C++是一种严格数据类型的语言,简单说,语法对于函数声明、赋值、传参等涉及到数据类型的地方都会有严格的验证和匹配规则。

但也有”例外“——C/C++的潜规则之默认数据类型。

 

这里举两个例子:

1.函数参数

bool DoSomething(unsigned Data);

上面的写法是合法的,可以通过编译,其中,Data的数据类型是unsigned int,即无符号整型。

注意,不能写成这样:

bool DoSomething(Data);

编译器是不会把Data脑补成int类型的。

 

2.函数返回值

Foo(void);

在C中这样的写法是合法的,Foo的返回值类型默认为int类型;值得注意的是,C++中是不允许这样写的。

unsigned Foo(void);

参考例1,很容易知道,Foo的返回值类型是unsingned int类型,这在C和C++中都是合法的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值