【C++】疑难问题

问题 

1、#define TBL_SIZE(a) ( (sizeof(a)) / (sizeof(a[0])) )

static int arr[]= {1,5,4,3,2,6};
#define TBL_SIZE(a) ( (sizeof(a)) / (sizeof(a[0])) )
int main()
{
    ilen = TBL_SIZE(arr);
    return 0;
}

理解:
从上面代码可以开出,#define TBL_SIZE(a) ( (sizeof(a)) / (sizeof(a[0])) )这句相当于定义了一个宏,然后宏的参数是a,其具体执行的功能为计算数组大小。
 

2、int a = int(); 这个int()是什么用法呢? 

int()直接調用的構造函數,所以構造函數返回什麽就是什麽。

int a = int();
cout<<a<<endl;

对于一个类型来说,类型名本身是该类型的构造函数
比如有一个类

class A {
    ...
};

那么A(),就是A类型的构造函数,使用A()可以得到一个A类型的变量。
int是内置类型,所以int()是调用int类型的构造函数,返回一个int变量。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值