今天在看某个源代码文件时,突然看到一个函数:
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变量,然后运算就基于这种数据类型。
也不知道这么想对不对,如果有误,欢迎指出~