亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C++ 类型转换

C++ 类型转换

在本教程中,我们将通过示例了解 C++ 类型转换的基础知识。

C++ 允许我们将一种类型的数据转换为另一种类型的数据。这称为类型转换。

C++中有两种类型转换。

  1. 隐式转换
  2. 显式转换(也称为类型转换)

隐式类型转换

由编译器自动完成的类型转换称为隐式类型转换。这种类型的转换也称为自动转换。

让我们看两个隐式类型转换的例子。


示例 1:从 int 到 double 的转换

// Working of implicit type-conversion

#include <iostream>
using namespace std;

int main() {
   // assigning an int value to num_int
   int num_int = 9;

   // declaring a double type variable
   double num_double;
 
   // implicit conversion
   // assigning int value to a double variable
   num_double = num_int;

   cout << "num_int = " << num_int << endl;
   cout << "num_double = " << num_double << endl;

   return 0;
}

输出

num_int = 9
num_double = 9

在程序中,我们分配了一个 int 数据到 double 变量。

num_double = num_int;

这里,int 值会自动转换为 double 在分配给 num_double 之前由编译器 多变的。这是一个隐式类型转换的例子。


示例 2:从 double 到 int 的自动转换

//Working of Implicit type-conversion

#include <iostream>
using namespace std;

int main() {

   int num_int;
   double num_double = 9.99;

   // implicit conversion
   // assigning a double value to an int variable
   num_int = num_double;

   cout << "num_int = " << num_int << endl;
   cout << "num_double = " << num_double << endl;

   return 0;
}

输出

num_int = 9
num_double = 9.99

在程序中,我们分配了一个 double 数据到 int 变量。

num_double = num_int;

这里,double 值会自动转换为 int 在分配给 num_int 之前由编译器 多变的。这也是隐式类型转换的一个例子。

注意:int 不能有小数部分,上例中小数点后的数字会被截断。


转换过程中的数据丢失(缩小转换)

正如我们从上面的示例中看到的,从一种数据类型转换为另一种数据类型很容易导致数据丢失。当较大类型的数据转换为较小类型的数据时会发生这种情况。

<图>

C++ 显式转换

当用户手动将数据从一种类型更改为另一种类型时,这称为显式转换 .这种类型的转换也称为类型转换 .

我们可以通过三种主要方式在 C++ 中使用显式转换。他们是:

  1. C 风格的类型转换(也称为 cast notation )
  2. 函数表示法(也称为旧 C++ 样式类型转换 )
  3. 类型转换运算符

C 风格类型转换

顾名思义,这种类型的转换受到 C 编程语言的青睐 .它也被称为 cast notation .

这种风格的语法是:

(data_type)expression;

例如,

// initializing int variable
int num_int = 26;

// declaring double variable
double num_double;

// converting from int to double
num_double = (double)num_int;

函数式转换

我们还可以使用符号之类的函数将数据从一种类型转换为另一种类型。

这种风格的语法是:

data_type(expression);

例如,

// initializing int variable
int num_int = 26;

// declaring double variable
double num_double;

// converting from int to double
num_double = double(num_int);

示例 3:类型转换

#include <iostream>

using namespace std;

int main() {
    // initializing a double variable
    double num_double = 3.56;
    cout << "num_double = " << num_double << endl;

    // C-style conversion from double to int
    int num_int1 = (int)num_double;
    cout << "num_int1   = " << num_int1 << endl;

    // function-style conversion from double to int
    int num_int2 = int(num_double);
    cout << "num_int2   = " << num_int2 << endl;

    return 0;
}

输出

num_double = 3.56
num_int1   = 3
num_int2   = 3

我们同时使用了 C 风格的类型转换 以及用于类型转换的函数式转换 并显示结果。因为它们执行相同的任务,所以都给我们相同的输出。


类型转换运算符

除了这两种类型转换之外,C++ 还有四个用于类型转换的运算符。它们被称为类型转换运算符 .他们是:

我们将在以后的教程中了解这些演员表。


推荐教程:


C语言

  1. C# 类型转换
  2. C++ 数据类型
  3. C++ 运算符
  4. C++ 注释
  5. C++ 类模板
  6. Python 类型转换和类型转换
  7. Python 数字、类型转换和数学
  8. C++ Char 数据类型及示例
  9. C++ 概述
  10. C++ 变量类型
  11. C++ 常量/文字
  12. C++ 中的运算符