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