int(x)做什么? 我见过这些,在C++代码中似乎是函数,但我不知道它们是做什么的或它们是什么,它们似乎与类型化的东西做了类似的事情,但它们看起来不像类型化的,所以它们是什么?
它们看起来是这样的:int(x)做什么? 我见过这些,在C++代码中似乎是函数,但我不知道它们是做什么的或它们是什么,它们似乎与类型化的东西做了类似的事情,但它们看起来不像类型化的,所以它们是什么?,c++,C++,它们看起来是这样的:int(x)其中x是一些数字输入,我一直在网上四处寻找,但找不到关于它们的任何信息(可能是因为我不知道它们叫什么) 有什么帮助吗?这是类型转换运算符的另一种语法,使其看起来像复制构造函数语法,因此在复制构造函数的位置在语法上是合适的int(x)和(int)x具有相同的效果。int(x)是一个 C++是一种强类型语言。许多转换,特别是那些对值有不同解释的转换,需要一个显式转换,在C++中被称为类型转换。泛型类型转换有两个主要语法:函数式和类c: 这些类型转换的通用形式的功能足以
int(x)
其中x
是一些数字输入,我一直在网上四处寻找,但找不到关于它们的任何信息(可能是因为我不知道它们叫什么)
有什么帮助吗?这是类型转换运算符的另一种语法,使其看起来像复制构造函数语法,因此在复制构造函数的位置在语法上是合适的
int(x)
和(int)x
具有相同的效果。int(x)
是一个
C++是一种强类型语言。许多转换,特别是那些对值有不同解释的转换,需要一个显式转换,在C++中被称为类型转换。泛型类型转换有两个主要语法:函数式和类c:
这些类型转换的通用形式的功能足以满足大多数基本数据类型的需要
例如:
double x = 10.3;
int y;
y = int (x); // functional notation
y = (int) x; // c-like cast notation
查看更多信息。这称为“函数表示法”,它是显式类型转换(“转换”)的一种形式。C++11,5.2.3:
5.2.3显式类型转换(功能符号)
这些被称为函数式类型转换。不,这些不是构造函数。这些被称为函数式类型转换。@H2CO3-true,但它们的行为方式相同,并且在大多数情况下在功能上与复制构造函数无法区分。这就是我在回答中引用“复制构造函数”的原因。是的,但它们不是构造函数。当你把一个鸡蛋和一个玻璃杯掉在地板上时,它们都会碎成碎片,所以它们的行为方式是一样的。然而鸡蛋不是玻璃杯。@H2CO3-慢慢地再读一遍我的答案,然后再想一想你的批评者是否真的适用不管你是否想说
int
实际上有构造器,“复制构造器”并不能解释发生了什么。int
的复制构造函数将采用int&
或const int&
。其他任何东西都不是复制构造函数。但是,int
可以从其他类型转换。