C++:int64_t它来自哪里?

ben*_*ben 5 c++

我想知道像int64_t这样的类型来自哪里.它们是c ++标准还是os依赖?(1)

另外,你知道我在哪里可以找到关于这些类型的文档吗?到目前为止,我找不到有用的信息.他们有一个特别的名字吗?(2)

它们与标准基本类型(如int,long ...)的一般区别是什么...(3)

谢谢你们

egu*_*gur 5

它来自一个头文件:

#include <stdint.h>// C 标准库
#include <cstdint> // C++ 标准库


bol*_*lov 3

它们是由C99标准引入的。

文档:
http://www.cplusplus.com/reference/cstdint/
http://en.cppreference.com/w/c/types/integer

引入它们是因为标准没有指定标准基元的固定宽度,而是指定最小宽度。因此int可以是 16 位或 32 位,具体取决于编译器、操作系统和体系结构,long也可以是 32 位或 64 位。甚至char可以是8位或16位。