由size_t引发的思考

今天在看某个源代码文件时,突然看到一个函数:

size_t Print::println(const String &s)
{
  size_t n = print(s);
  n += println();
  return n;
}

很好奇为什么不直接写成下面这样,不是更简洁吗?

size_t Print::println(const String &s)
{
  return print(s) + println();
}

一开始我想,应该是为了让程序的可读性更好。
但是接着我得目光聚焦到size_t这个返回值类型,一番百度后得到如下结论:

size_t的全称应该是size type,就是说“一种用来记录大小的数据类型”。

经测试发现,在32位系统中size_t是4字节的,而在64位系统中,size_t是8字节的,这样利用该类型可以增强程序的可移植性。

我突然想到如果不指定整数类型的话,系统会自动转化为int,但是这样的话容易造成数据的丢失,甚至产生错误。所以定义一个size_t变量,然后运算就基于这种数据类型。

也不知道这么想对不对,如果有误,欢迎指出~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值