C++F32包含文件

C++ F32 include file?

本文关键字:文件 包含 C++F32      更新时间:2023-10-16

我刚刚开始编写自己的内存管理器,但要做到这一点,我需要一些类型的include文件来创建f32(浮点整数)。

我的程序中已经有了#include <cstdint>,但我不确定F32I32需要什么。

AFAIK到目前为止,还没有标准化的方法来获得固定宽度的浮点类型——我认为这是因为,与整数类型不同,floatdouble在任何地方都或多或少相同(32位float、64位double,"奇怪"FP类型有单独的类型)。

尽管如此,如果你想更加确定,你可以在创建typedef:之前做一个静态断言

#include <climits>
static_assert(sizeof(float)*CHAR_BIT==32, "float is not 32 bit on this architecture, fix the f32 typedef.");
typedef float f32;

这样,在"理智"的平台上,它将完美地工作,而在"奇怪"的平台上将无法编译,从而使您有机会添加特定于平台的typedef

至于I32,包含<cstdint>并创建typedef:就足够了

#include <cstdint>
typedef std::int32_t i32;