Header boost/cstdint.hpp

头文件 boost/cstdint.hpp 

头文件 <boost/cstdint.hpp> 提供了用于编写要求指定整数宽度的可移植代码的 typedef. 所有 typedef 均位于名字空间 boost.

本规范是基于 ISO/IEC 9899:1999 C 语言标准的头文件 <stdint.h> 的。C标准所要求的64位类型没有在 boost 头文件中要求,也可能不被实现支持,因为 long long 还未被包含在 C++ 标准中。

测试程序请见 cstdint_test.cpp.

精确宽度的整数类型

typedef int#_t, 其中 # 代表宽度,表示一个宽度恰好为 # 位的有符号整数类型;如 int8_t 表示8-位的有符号整数类型。同样,typedef uint#_t 表示一个宽度恰好为 # 位的无符号整数类型。

这些类型是可选的。不过,如果一个实现提供了宽度为 8, 16, 32, 或 64 位的整数类型,它就应该定义相应的 typedef 名字。

最小宽度的整数类型

typedef int_least#_t, 其中 # 代表宽度,表示一个宽度至少为 # 位的有符号整数类型,且没有位数更少的有符号整数类型至少具有给定的宽度。因此,int_least32_t 表示一个至少32位的有符号整数类型。同样,typedef uint_least#_t 表示一个宽度至少为 # 位的无符号整数类型,且没有位数更少的无符号整数类型至少具有给定的宽度。

需具备的最小宽度整数类型:

  • int_least8_t
  • int_least16_t
  • int_least32_t
  • uint_least8_t
  • uint_least16_t
  • uint_least32_t

其它所有最小宽度整数类型都是可选的。

最快最小宽度整数类型

typedef int_fast#_t, 其中 # 代表宽度,表示宽度至少为 # 位的且速度最快的有符号整数类型。同样 typedef uint_fast#_t 表示宽度至少为 # 位的且速度最快的无符号整数类型。

不能保证这些类型对于所有用途都是最快的。不过在任何情况下,它们都满足符号和宽度的要求。

需具备的最快最小宽度整数类型:

  • int_fast8_t
  • int_fast16_t
  • int_fast32_t
  • uint_fast8_t
  • uint_fast16_t
  • uint_fast32_t

其它所有最快最小宽度整数类型都是可选的。

最大宽度整数类型

typedef intmax_t 表示一个有符号整数类型,它可以表示任意有符号整数类型的值。

typedef uintmax_t 表示一个无符号整数类型,它可以表示任意无符号整数类型的值。

这两个类型都是必需的。

头文件 boost/cstdint.hpp的更多相关文章

  1. xe7 c++builder 日期时间头文件函数大全 date

    c++builde r时间日期函数大全,在头文件System.DateUtils.hpp,不过没有IncMonth,因为这个函数定义在System.SysUtils.hpp里头了,唉 date,dat ...

  2. boost.spirit之解析C++头文件

    环境:win7_64旗舰版,VS2008 场景:C++与lua交互是比较繁琐的,当我们编写一个C++类后,如果要给lua使用,就必须写一个lua包装类,将lua与原始C++类关联起来.其实这部分代码编 ...

  3. boost/config.hpp文件详解

    简要概述 今天突发奇想想看一下boost/config.hpp的内部实现,以及他有哪些功能. 这个头文件都有一个类似的结构,先包含一个头文件,假设为头文件1,然后包含这个头文 件中定义的宏.对于头文件 ...

  4. hpp头文件与h头文件的区别

    hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译.而实现代码将直接 ...

  5. 对opencv.hpp头文件的认识

    OpenCV学习笔记(二):对opencv.hpp头文件的认识 - 安东的技术博客 - CSDN博客 https://blog.csdn.net/xidiancoder/article/details ...

  6. C++-模板的声明和实现为何要放在头文件中

    源: http://blog.csdn.net/lqk1985/archive/2008/10/24/3136364.aspx 如何组织编写模板程序 发表日期: 1/21/2003 12:28:58 ...

  7. C ++模板的声明和实现为何要放在头文件中?

    源: http://blog.csdn.net/lqk1985/archive/2008/10/24/3136364.aspx 如何组织编写模板程序 发表日期: 1/21/2003 12:28:58 ...

  8. Xcode增加头文件搜索路径的方法

    Xcode增加头文件搜索路径的方法 以C++工程为例: 在Build Settings 页面中的Search Paths一节就是用来设置头文件路径. 相关的配置项用红框框起来了,共有三个配置项: He ...

  9. Objective-C声明在头文件和实现文件中的区别

    Objective-C声明在头文件和实现文件中的区别 转自codecloud(有整理) 调试程序的时候,突然想到这个问题,百度一下发现有不少这方面的问答,粗略总结一下: 属性写在.h文件中和在.m文件 ...

随机推荐

  1. 关于ios下录音

    http://blog.csdn.net/silencetq/article/details/8447400 我是采用的AVAudioRecorder这个框架来进行录音 这个录音跟官方网站上的spea ...

  2. Asp.Net Core

    开源Asp.Net Core小型社区系统 源码地址:Github 前言 盼星星盼月亮,Asp.Net Core终于发布啦!! Asp.Net发布时我还在上初中,没有赶上.但是Asp.Net Core我 ...

  3. Android 开发中eclipse 下 DDMS 视图中 sdcard 中文件导入的处理

    首先需要说明下,这里说的sdcard的权限并不是指在Android application程序中设置sdcard的权限读 取问题.而是指在DDMS看到的目录下的那个sdcard目录的权限问题.     ...

  4. sublime2 c++的一些使用配置

    1 下载安装好tdw gcc后,配置好环境变量后,配置sublime2. tools->build system-> new build system... 里面输入: { "c ...

  5. c# 课堂总结6 --集合与结构体

    一.集合 使用时必须添加 System.Collections 集合与数组的区别: 1:数组声明了它容纳的元素的类型,而集合不声明.这是由于集合以object形式来存储它们的元素.初始化时集合无需定义 ...

  6. linux中如何修改文件夹的用户权限 chown命令

    linux中,可以使用chown命令来修改文件夹的用户权限. 1.  以普通用户 A 登录linux,利用su -切换到root用户 2. 在root用户下,可以看到文件夹内容 3. 但通过文件系统, ...

  7. Orleans-Hello World

    Orleans-Hello World http://www.rm5u.com/orleans/orleans-intro.html 什么是Orleans?          Orleans(奥尔良) ...

  8. android 小结

    1.layout中的布局文件xml中不能有大写字母. 2.时刻要想着空指针,尤其是安卓5.0后,不报异常,直接ANR.

  9. RVCT的Linux环境变量配置 ARM® RVDS™ 4.1(b713)

    下载解压 armrvds.tar.gz到/opt 下 在自己的build.sh下导入RVCT的环境变量配置ARM® RVDS™4.1(b713): export ARMROOT=/opt/armrvd ...

  10. Linux OpenCV读取视频失败,cvCreateFileCapture失败的解决

    背景: 近期想在嵌入式平台上开发QT+Opencv,无料PC机上编写的OpenCV程序老是打不开视频. 開始提示:OpenCV Error: Bad argument (Array should be ...