我用C ++完成了开发软件的完整设计。我真的不想改变结构。
但是,我有时会将错误的输出存储在整数变量中。输出不是任何数字,输出是NaN。但我不想添加任何其他变量来检查我的整数变量是否错误。
有没有办法将NaN这样的东西存储在整数变量中?
答案 0 :(得分:2)
这不是魔术,它是信息理论的基础。 int是存储范围[INT_MIN,INT_MAX]中的值的东西。这就是它所能做的一切,不能再少了。
你约束只使用int,让你成为使用某个值作为指标的唯一选择。如果这还不够好,您必须重新考虑约束。
答案 1 :(得分:0)
不,没有值可以存储在可以代表NaN
的整数类型中。
如果您需要存储此值,则必须重新考虑您的设计。这并不意味着添加新变量,但您可以更改现有变量。例如,您当前存储此值int
的{{1}}变量可以更改为NaN
。这样,如果值为boost::optional <int>
,则可以取消设置,否则设置为