如果我想在编译时在浮点数和双精度之间切换,我应该看看哪里。这就像,如果用户想要所有的东西都是浮点型的而不是双精度的,我怎么能保持这种灵活性呢?换句话说,我应该如何定义一个变量,它可以是浮点型的,也可以是双精度的?
发布于 2013-01-25 06:25:52
如果可以在编译时进行切换,那么一个简单的typedef就可以做到:
#ifdef USE_DOUBLES
typedef double user_data_t;
#else
typedef float user_data_t;
#endif在代码中使用user_data_t,如果希望在编译时使用doubles,请设置USE_DOUBLES:
g++ -DUSE_DOUBLES=1 myprogram.cpp发布于 2013-01-25 06:25:05
如果不确切知道您打算如何使用数据,就很难推荐正确的解决方案。
看一下联合日期类型。
http://msdn.microsoft.com/en-us/library/5dxy4b7b(v=VS.80).aspx
根据使用情况,模板也是一个可行的选择。
发布于 2013-01-25 06:59:05
我不喜欢在我的代码中使用#define。
我会有两个不同的头和两个不同的typedef,并允许构建选项来选择包含哪个头。
https://stackoverflow.com/questions/14511910
复制相似问题