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. ASP.NET Core (一):简介

    下一篇:ASP.NET Core(二):入门 英文原版:Introduction to ASP.NET Core 关于ASP.NET Core ASP.NET Core 是一个全新的开源.跨平台框架, ...

  2. UIScrollView方法 属性详解

    --前言:UIScrollView使用非常广,本文研究UIScrollView各属性和方法,明白它们的意义.作用.在后面的一篇文章有整理UIScrollView一些常见用法以及一些效果的实现思路. - ...

  3. CAN总线基础

    can总线协议: 涵盖了OSI规定的传输层.数据链路层.物理层 物理层: 决定了位编码方式(NRZ编码,6个位插入填充位),位时序(位时序.位的采样).同步方式(根据同步段ss实现同步,并具有再同步功 ...

  4. Android项目使用Assets下的文件

    Android项目在编译时,Assets下文件不被编译. Assets下的文件除了 html文件可以直接在项目中使用外,其他的文件都需要做处理滴. 在项目中使用方法:        使用流读取.   ...

  5. Intent数据传递

    (1)首先是Activity的简单跳转: 1).Activity的切换一般是通过Intent来实现的,Intent是一个Activity到达另一个Activity的引路者,它描述了起点(当前Activ ...

  6. JAVA序列化在IO中读写对象的使用

    序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间.序列化是为了解决在对对象流进行读写操作时所引发的问题. 序列 ...

  7. C#中对文件的操作

    详细介绍参考:http://blog.csdn.net/wangyue4/article/details/4616801 源码举例: public class FileSystemManager { ...

  8. Unicode编码(转)

    随着计算机的发展.普及,世界各国为了适应本国的语言和字符都会自己设计一套自己的编码风格,正是由于这种乱,导致存在很多种编码方式,以至于同一个二进制数字可能会被解释成不同的符号.为了解决这种不兼容的问题 ...

  9. 用户界面线程AfxBeginThread的使用

    用户界面线程在运行时会有一个窗口界面和与其相对应的窗口函数,所以它可以通过响应消息来和用户进行交互. AfxBeginThread 函数原型如下: CWinThread *AfxBeginThread ...

  10. 挺苹果的声音,iPhone 5s的两处进步

    苹果iPhone 5s发布后的两处重大进步让我很关注,但看了网上众多网友的点评,又深深的被中国当前手机发烧友圈的这种屌丝文化所震撼,这不是一条正确的道路,这将把中国的手机产业引向歧途,所以我不得不说几 ...