gpt4 book ai didi

c++ - 通过 C++ 中的预处理器定义构建不同的数据类型

转载 作者:行者123 更新时间:2023-11-28 00:07:41 26 4
gpt4 key购买 nike

我想快速正确地将 float 的使用更改为 double 并且有人建议这可以通过正确使用预处理器定义来完成。不幸的是我从来没有这样做过,但是我在这里遇到了以下答案:

Switching between float and double precision at compile time

因此我想知道,我是否应该采用这种方法,特别是考虑到我正在处理的程序范围有多大,或者我是否使用替代方法?如果有替代方法,大家会有什么建议?

最佳答案

你不想使用预处理器,你想使用 typedefusing

编辑:类似于:

#ifdef USE_DOUBLES 
typedef double my_float_type;
#else
typedef float my_float_type;
#endif

然后使用 my_float_type 作为所有有问题的浮点变量的类型。然后您可以#define USE_DOUBLES您的make 系统或通用头文件,

您的 OP 设计存在根本性缺陷,因为 #define 关键字(即 doublefloat)会导致未定义的行为,您可以t 重新 typedef 内置类型(即 doublefloat)。

关于c++ - 通过 C++ 中的预处理器定义构建不同的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34595423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com