gpt4 book ai didi

c++ - C++ 能否定义宏将浮点文字重写为 double 文字或至少删除 f 后缀?

转载 作者:太空宇宙 更新时间:2023-11-04 15:00:50 25 4
gpt4 key购买 nike

#ifdef DOUBLE_PRECISION_COMPUTE
#define MAKE_PRECISE(N) ...
#endif
// if not defined, leave as it is. MAKE_PRECISE(N) (N)

上面的宏(用正确的重新定义替换“...”)可以做下面的操作吗?

double PI=MAKE_PRECISE(3.14159265359f);

成为

double PI=3.14159265359;

double area= MAKE_PRECISE(3.14159265359f)*r*r;

成为

double area= 3.14159265359*r*r;

最佳答案

没有。

无法使用预处理器指令转换 token 。

相反,通过删除源代码中的 f 来更正文字。

与将所有内容包装在一些不清楚发生了什么的 MAKE_PRECISE 宏中相比,结果无论如何都更容易阅读。

关于c++ - C++ 能否定义宏将浮点文字重写为 double 文字或至少删除 f 后缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45105036/

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