深入理解ts类型转换

一、c++类型转换

  // 精度损失:float -> int
  #include<iostream>
  using namespace std;
  int main()
  {
      float f = 3.5f;
      int i = f; //f自动转换成int类型
      cout << i << endl; //输出3, 精度被损失
      return 0;
  }

c++中的隐式类型转换与js比起来略微有些严格。由上述代码可知,当一个变量的类型被强制转换时,如果转换会导致精度损失,则编译器会发出警告提示。

二、强制类型转换C语言

  //强制类型转换1:C语言风格
  #include<iostream>
  using namespace std;
  int main()
  {
      int i = 10;
      float f = (float)i; //C语言风格, 强制类型转换
      cout << f << endl; //输出10.0
      return 0;
  }

强制类型转换C语言的风格与js转换类型的方式相同。当将一个高精度类型的变量赋值给低精度类型,或者当需要使用一种类型的变量作为另一种类型的参数时,可以使用强制类型转换来满足编译器的检查。

三、强制类型转换

  //强制类型转换2:C++风格
  #include<iostream>
  using namespace std;
  int main()
  {
      int i = 10;
      float f = static_cast<float>(i); //C++风格,强制类型转换
      cout << f << endl;
      return 0;
  }

C++风格的类型转换使用关键字`static_cast`来转换类型。由于代码中使用了强制类型转换,所以编译器不再发出警告。

四、c强制类型转换举例

  #include<iostream>
  using namespace std;
  int main()
  {
      int i = 97;
      char c = (char)i; //强制类型转换为char
      cout << c << endl;  //输出a
      return 0;
  }

c强制类型转换也是一种强制类型转换的方式,可以将一个变量转换为另一个具有不同数据类型的变量。

五、c语言类型转换

  #include<iostream>
  using namespace std;
  int main()
  {
      int i = 100;
      float f = (float)i; //强制类型转换, c语言风格
      cout << f << endl; //输出100.0
      return 0;
  }

c语言中的类型转换也可以使用强制类型转换的方式来实现。将一个变量转换为另一个不同类型的变量时,必须使用括号将变量名括起来,并在括号之前加上新要转换的类型的标识符。

六、隐式类型转换

  #include<iostream>
  using namespace std;
  int main()
  {
      float f = 3.5f;
      int i = f; //隐式类型转换
      cout << i << endl; //输出3
      return 0;
  }

在ts类型转换中,隐式类型转换是一种自动完成的类型转换方式。当ts需要一种类型的变量作为另一种类型的参数时,ts会自动将两种不同类型的变量之间进行隐式类型转换。从上述代码可以看到,当将一个float类型的变量赋值给int类型的变量时,会发生隐式类型转换,但是会导致精度上的损失。

七、转换类型class

  class Animal
  {
      public:
          virtual void run();
  };
  class Dog : public Animal
  {
      public:
         void run()
         {
             cout << "小狗在跑!" << endl;
         }
         void eat()
         {
             cout << "小狗在啃骨头!" <(animal1);
      dog1->run(); //输出:小狗在跑!
      dog1->eat(); //非法,无法访问
      return 0;
  }

在ts类型转换中,有时需要将一个派生类的指针转换为一个基类的指针,或将一个基类的指针转换为一个派生类的指针,转换类型class便可满足这一需求。

八、自动类型转换

  #include<iostream>
  using namespace std;
  
  int main()
  {
      int i = 10;
      double d = i; //自动类型转换
      cout << d << endl; //输出10
      return 0;
  }

自动类型转换是一种非常常见的类型转换方式,编译器会自动将其中一种类型的变量转换为另一种类型的变量,以便匹配相应的数据类型。在上述代码中,将一个int类型的变量赋值给double类型的变量,编译器会进行自动类型转换。

九、nat转换类型

  #include<iostream>
  using namespace std;
  
  int main()
  {
      int i = 10;
      int* p = &i;
      double* pd = static_cast<double*>(static_cast<void*>(p));
      *pd = 3.5;
      cout << i << endl;  //输出1745489024
      cout << *pd << endl;  //输出3.5
      return 0;
  }

nat转换类型是将一个指针类型转换为另一种类型指针类型的过程。有时会需要将一个非常量指针类型转换为另一种非常量指针类型,例如将int指针类型转换为double指针类型。这种情况下,可以使用nat转换类型来满足这一需求。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/254900.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-15 12:13
下一篇 2024-12-15 12:13

相关推荐

  • int类型变量的细节与注意事项

    本文将从 int 类型变量的定义、声明、初始化、范围、运算和类型转换等方面,对 int 类型变量进行详细阐述和讲解,帮助读者更好地掌握和应用 int 变量。 一、定义与声明 int…

    编程 2025-04-29
  • Python3定义函数参数类型

    Python是一门动态类型语言,不需要在定义变量时显示的指定变量类型,但是Python3中提供了函数参数类型的声明功能,在函数定义时明确定义参数类型。在函数的形参后面加上冒号(:)…

    编程 2025-04-29
  • Python基本数字类型

    本文将介绍Python中基本数字类型,包括整型、布尔型、浮点型、复数型,并提供相应的代码示例以便读者更好的理解。 一、整型 整型即整数类型,Python中的整型没有大小限制,所以可…

    编程 2025-04-29
  • Python中的Bool类型判断

    本篇文章旨在讲解Python中的Bool类型判断。在Python中,Bool类型是经常使用的一种类型,因此掌握其用法非常重要。 一、True和False 在Python中,True…

    编程 2025-04-29
  • Vue TS工程结构用法介绍

    在本篇文章中,我们将从多个方面对Vue TS工程结构进行详细的阐述,涵盖文件结构、路由配置、组件间通讯、状态管理等内容,并给出对应的代码示例。 一、文件结构 一个好的文件结构可以极…

    编程 2025-04-29
  • Python函数类型有哪些

    本文将从以下几个方面详细阐述Python函数类型。 一、内置函数 Python的内置函数是指在Python编程语言中提供的可以直接使用的函数,不需要通过导入模块等方式引入。 部分常…

    编程 2025-04-29
  • Python变量类型用法介绍

    Python是一种解释型编程语言,它提供了丰富的数据类型,包括数字、字符串、列表、元组、集合、字典等。Python变量类型的定义是Python程序开发的基础,本文将从以下几个方面对…

    编程 2025-04-28
  • Python中的整数类型int类总览

    本文将从多个方面,对Python中的整数类型int类进行全面介绍和阐述。 一、数据类型及基本操作 在Python中,整数类型的数据类型为int。在Python3.x中,整数类型的范…

    编程 2025-04-28
  • Python查询变量类型的函数

    本文将从多个方面详细阐述Python中查询变量类型的函数,主要包括以下几点: 一、type()函数 type()函数是Python内置的函数,用于查询变量的类型。它的使用非常简单,…

    编程 2025-04-28
  • Python语言列表中的元素类型可以不相同

    Python语言的列表是一种有序的集合,可以包含任意数量和任意类型的Python对象,包括数字、字符串甚至是其他列表对象,这样的特性称为Python语言列表中的元素类型可以不相同。…

    编程 2025-04-28

发表回复

登录后才能评论