C ++中的类型转换

在这里,我们将了解C ++中存在哪些类型转换技术。类型转换主要有两种类型。隐式和显式。

  • 隐式类型转换

    这也称为自动类型转换。这是由编译器完成的,用户没有任何外部触发器。当一个表达式具有多个数据类型时,便会执行此操作。

    所有数据类型都升级为大变量的数据类型。

bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double

在隐式转换中,它可能会丢失一些信息。该标志可能会丢失等。

示例

#include <iostream>
using namespace std;
int main() {
   int a = 10;
   char b = 'a';
   a = b + a;
   float c = a + 1.0;
   cout << "a : " << a << "\nb : " << b << "\nc : " << c;
}

输出结果

a : 107
b : a
c : 108

显式类型转换

这也称为类型转换。用户可以在此处键入结果以使其成为特定的数据类型。在C ++中,我们可以通过两种方式做到这一点,或者在括号中使用表达式,或者使用static_cast或dynamic_cast

示例

#include <iostream>
using namespace std;
int main() {
   double x = 1.574;
   int add = (int)x + 1;
   cout << "Add: " << add;
   float y = 3.5;
   int val = static_cast<int>(y);
   cout << "\nvalue: " << val;
}

输出结果

Add: 2
value: 3