我有一个32位浮点f数字(已知为正),需要转换为32位无符号整数。它的大小可能太大,不适合。此外,下游的计算需要一定的空间。我可以将最大可接受值m计算为32位整数。如何在约束32位机(ARM M4F)上有效地在C++11中确定f <= m (数学上的)。注意,这两个值的类型不匹配。m太大,无法精确转换,则转换后的值可能比m大,因此在某些边缘情况下,随后的比较
narrowing conversion of '1.0e+0f' from 'float' to 'int'}
有没有其他方法可以从重载列表中删除std::initializer_list (即,使非列表ctor更有利),而不是使用()-initialization,或者至少禁止发生缩小转换(除了将警告变成错误之外)?我使用的是编译器,它使用的</em