博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
由size_t引发的思考
阅读量:4289 次
发布时间:2019-05-27

本文共 480 字,大约阅读时间需要 1 分钟。

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

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变量,然后运算就基于这种数据类型。

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

转载地址:http://uclgi.baihongyu.com/

你可能感兴趣的文章
mysql事务处理用法与实例详解
查看>>
利用iptables来配置linux禁止所有端口登陆和开放指定端口
查看>>
Python模块——struct
查看>>
mysql中select * for update
查看>>
linux vmstat 1 ,watch , pmap -p,
查看>>
MYSQL 相关
查看>>
python 构建client 程序
查看>>
c++ 加载so动态库中的资源
查看>>
加解密 签名
查看>>
linux top 命令分析
查看>>
Linux vmstat命令详解
查看>>
linux pmap命令
查看>>
MySQL数据同步【双主热备】
查看>>
Mysql主从复制实践手册
查看>>
nginx配置正向代理支持HTTPS
查看>>
Perf -- Linux下的系统性能调优神器
查看>>
C++ 用libcurl库进行http通讯网络编程
查看>>
秒杀多线程第十篇 生产者消费者问题
查看>>
信号量与互斥锁
查看>>
linux 查看CPU个数,核数
查看>>