Tom*_*665 2 c++ primitive constructor initialization
根据我的理解,在c ++中实例化一个整数是合法的,如下所示:
int x = int(5);
Run Code Online (Sandbox Code Playgroud)
作为Java程序员,我假设这行代码调用传递"5"作为参数的整数的构造函数.我读过虽然int不是一个类,因此没有构造函数.
那么,在那行代码中究竟发生了什么,以及通过这种方式初始化int之间的根本区别是什么:
int x = 5;
Run Code Online (Sandbox Code Playgroud)
提前致谢!
leg*_*s2k 11
我读过虽然这
int不是一个类,因此没有构造函数.
是的,技术上内置的类型没有构造函数.
在那行代码中究竟发生了什么
整数文字5显式地转换为int(主要是编译器的无操作)并分配给x.
初始化int的方式和方法之间的根本区别是什么
int x = 5;
基本上没有区别.在大多数情况下,所有以下表达式都是相同的,除非您是语言律师(例如,最后一个会阻止缩小,即如果值不能由类型表示则引发错误):
int x = 5; // copy initialization
int y = int(5); // cast and copy initialization
int z = (int)5; // cast and copy initialization
int w(5); // direct initialization
int r{5}; // direct initialization
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1762 次 |
| 最近记录: |