std*_*all 3 c c++ linux-kernel
可能重复:
_t(下划线-t)后面的类型代表什么?
有谁知道time_t,uint8_t等代表什么't',它是"类型"吗?第二,为什么声明这种新类型,例如size_t,它不能只是一个int?
Col*_*lin 10
是的,t代表Type.
定义新类型的原因是它们将来可以改变.由于64位计算机已经成为常态,因此实现可以将位宽更改size_t为64位而不是仅仅32位.这是一种面向未来的程序.一些小型嵌入式处理器只能很好地处理16位数.它们size_t可能只有16位宽.
一个特别重要的可能是ptrdiff_t,它代表两个指针之间的差异.如果指针大小在未来的某个时间发生变化(例如64或128位),您的程序应该不在意.
typedef的另一个原因是风格.虽然那些size_t可能只是由
typedef int size_t;
Run Code Online (Sandbox Code Playgroud)
使用该名称size_t清楚地表明变量意味着某事物的大小(容器,内存区域等).
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |