由size_t引发的思考
2017-05-22 18:22
197 查看
今天在看某个源代码文件时,突然看到一个函数:
很好奇为什么不直接写成下面这样,不是更简洁吗?
一开始我想,应该是为了让程序的可读性更好。
但是接着我得目光聚焦到size_t这个返回值类型,一番百度后得到如下结论:
size_t的全称应该是size type,就是说“一种用来记录大小的数据类型”。
经测试发现,在32位系统中size_t是4字节的,而在64位系统中,size_t是8字节的,这样利用该类型可以增强程序的可移植性。
我突然想到如果不指定整数类型的话,系统会自动转化为int,但是这样的话容易造成数据的丢失,甚至产生错误。所以定义一个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变量,然后运算就基于这种数据类型。
也不知道这么想对不对,如果有误,欢迎指出~
相关文章推荐
- 由一个小程序引发对 size_type类型的思考
- C++ string::size_type 类型以及由此引发的思考
- 接口版本演化引发的思考二
- 徒弟离职引发的思考
- 笔试题引发的思考--引用传递
- jdbc查询引发一个思考(使用反射)
- 从网易与淘宝的font-size思考前端设计稿与工作流
- “马俊和黄佳婚姻”所引发的思考
- 一个换行符引发的思考!
- 做题引发的内存思考问题-poj 2942
- 面试中的一个小问题引发的思考
- POST的Content-Type引发的HTTP相关知识思考
- 从网易与淘宝的font-size思考前端设计稿与工作流
- 由一段程序引发关于对象的思考
- 网卡问题引发的思考 推荐
- 现代社会,女大学生被拐卖事实引发的思考——看《盲村》有感
- 小记:删除字符串空格的3种方法所引发的对C library 中库函数的思考
- 清空ArrayList所引发的思考(List相关操作)
- 从网易与淘宝的font-size思考前端设计稿与工作流
- 复印身份证所引发的一系列问题与思考