相关疑难解决方法(0)

C++中的无符号双精度?

为什么C++不支持无符号双重语法?

c++ double unsigned

63
推荐指数
3
解决办法
6万
查看次数

为什么/什么时候将运算符指定为显式是重要的?

我从另一个问题(稍加修改)中借用了以下代码,以便在我的代码中使用:

internal class PositiveDouble 
{
      private double _value;
      public PositiveDouble(double val) 
      {
          if (val < 0)
              throw new ArgumentOutOfRangeException("Value needs to be positive");
          _value = val;
      }

      // This conversion is safe, we can make it implicit
      public static implicit operator double(PositiveDouble d)
      {
          return d._value;
      }
      // This conversion is not always safe, so we're supposed to make it explicit
      public static explicit operator PositiveDouble(double d)
      {
          return new PositiveDouble(d); // this constructor might throw exception
      } …
Run Code Online (Sandbox Code Playgroud)

c# implicit-conversion explicit-conversion

11
推荐指数
2
解决办法
607
查看次数

如何使用编译时错误限制允许的整数范围?

我想创建一个整数值的类型,但限制范围.尝试使用超出允许范围的值创建此类型的实例应导致编译时错误.

我找到的示例允许在使用指定值之外枚举值时触发编译时错误,但是没有允许限制范围的整数(没有名称)的示例.

这可能吗?

c++

6
推荐指数
1
解决办法
2475
查看次数