在编译时浮点和双精度之间切换(Switching between float and double

2019-07-18 16:34发布

我应该在哪里看,如果我想在编译时浮点精度和双精度之间切换。 这就像,如果用户想要在浮动的,而不是双精度我如何保持这种灵活性的一切? 换句话说,我应该怎么定义可能是漂浮或双精度有条件的变量?

Answer 1:

如果是OK,使在编译时的开关,一个简单typedef会做:

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

使用user_data_t在你的代码,并设置USE_DOUBLES如果你想doubles在编译的时候:

g++ -DUSE_DOUBLES=1 myprogram.cpp


Answer 2:

不知道你到底打算如何使用这些数据,就很难推荐正确的解决方案。

看一看工会日期类型。

http://msdn.microsoft.com/en-us/library/5dxy4b7b(v=VS.80).aspx

模板也将根据使用的可行选择。

http://msdn.microsoft.com/en-us/library/y097fkab.aspx



Answer 3:

我不希望有#define在我的代码。

我想有两个不同的两个不同的页眉typedef S,并允许建立选项可以选择包括其头。



文章来源: Switching between float and double precision at compile time