相关疑难解决方法(0)

隐式VS显式转换

Nicolai M. Josuttis的C++标准库声明:

两者之间存在细微差别

X x;
Y y(x) //explicit conversion
Run Code Online (Sandbox Code Playgroud)

X x;
Y y = x; //implicit conversion
Run Code Online (Sandbox Code Playgroud)

接下来说:"前者通过使用类型X的显式转换创建Y类型的新对象,而后者通过使用隐式转换创建类型为Y的新对象."

我猜对于显式与隐式转换的概念我有点困惑.在这两种情况下,你都使用X并将其推入Y本身 - 一个使用Y的构造函数,一个使用赋值运算符.

在这两种情况下如何处理转换有什么不同,是什么使它显式/隐式,以及如何使用"显式"关键字定义类构造函数(如果有的话)?

c++ type-conversion

18
推荐指数
1
解决办法
3万
查看次数

在java中增加char数据类型

我有以下代码

 class arr
  { 
    public static void main(String a[])
     {
       char c='A';
       c+=10;
        System.out.println(c);
        }
     } 
Run Code Online (Sandbox Code Playgroud)

从java 8编译时,它编译成功.

output ķ

但是当我编译下面的代码时:

class arr
{ 
  public static void main(String a[])
   {
    char c='A';
      c=c+10;
      System.out.println(c);
    }
 } 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

  logic.java:6: error: incompatible types: possible lossy conversion from int to char
  c=c+10;
    ^
Run Code Online (Sandbox Code Playgroud)

我不明白c=c+10,c+=10为什么我会收到这样的错误?请帮我.谢谢.

java

2
推荐指数
1
解决办法
146
查看次数

标签 统计

c++ ×1

java ×1

type-conversion ×1