Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
int(x)做什么? 我见过这些,在C++代码中似乎是函数,但我不知道它们是做什么的或它们是什么,它们似乎与类型化的东西做了类似的事情,但它们看起来不像类型化的,所以它们是什么?_C++ - Fatal编程技术网

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显式类型转换(功能符号)

  • 简单类型说明符(7.1.6.2)或类型名说明符(14.6)后跟括号中的表达式列表,在表达式列表中构造指定类型的值。如果表达式列表是单个表达式,则类型转换表达式与相应的强制转换表达式(5.4)等效(定义和定义)。如果指定的类型为类别类型,则类别类型应完整。如果表达式列表指定了不止一个值,则类型应为具有适当声明的构造函数(8.5,12.1)的类,并且表达式T(x1,x2,…)实际上等同于声明T(x1,x2,…);对于一些发明的临时变量t,结果是t的值作为PR值

  • 这些被称为函数式类型转换。不,这些不是构造函数。这些被称为函数式类型转换。@H2CO3-true,但它们的行为方式相同,并且在大多数情况下在功能上与复制构造函数无法区分。这就是我在回答中引用“复制构造函数”的原因。是的,但它们不是构造函数。当你把一个鸡蛋和一个玻璃杯掉在地板上时,它们都会碎成碎片,所以它们的行为方式是一样的。然而鸡蛋不是玻璃杯。@H2CO3-慢慢地再读一遍我的答案,然后再想一想你的批评者是否真的适用不管你是否想说
    int
    实际上有构造器,“复制构造器”并不能解释发生了什么。
    int
    的复制构造函数将采用
    int&
    const int&
    。其他任何东西都不是复制构造函数。但是,
    int
    可以从其他类型转换。