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