c++ 类型转换

女爷i 2022-05-16 01:21 336阅读 0赞

算术转换


整型提升

负责把小的整数类型转换为较大的整数类型。

  1. boolcharsign charunsigned charshortunsigned short
  2. 如果他们所有可能的值都在int中,那么它们会被提升为int 否则提升为unsigned int类型。

无符号类型的运算对象

  1. 1. 如果无符号数类型不小于带符号数, 则带符号数转换为无符号数
  2. 2. 如果带符号数大于无符号数。如果无符号类型的所有值都能存在该带符号数据中, 则无符号数转换为带符号数进行运算, 否则带符号数转换为无符号数据。

其他隐式类型转换


  1. 数组转换成指针: 在多数用到数组的表达式中, 数组都自动转换为指向数组首元素的指针。除了使用decltype、sizeof、取地址符(&)和typeid例外。
  2. 转换成常量: 可以将一个非常量的指针或者引用赋值给一个常量指针或常量引用。

显示转换


命名的强制类型转换

  1. static_cast:只要不包含底层const, 都可以使用static_cast
  2. const_cast: const_cast只能改变运算对象的底层const
  3. reinterpret_cast:通常为运算对象的位模式提供较底层的重新解释
  4. dynamic_cast:支持运行时类型识别。

发表评论

表情:
评论列表 (有 0 条评论,336人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C++ 类型转换

    1、类型转换介绍 C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a    C++风格的类型转换提供了4种

    相关 C#——类型转换

    类型转换 > 一、c\类型转换可以分为两大类:一类是同一类型转换(Cast),另一类是不同类型转换(Convert)。    (一)同一类型转换(Cast)可分为两种:

    相关 c++】类型转换

    类型转换很重要,这有助于理解c++的工作细节,可以分为自动类型转换和强制类型转换 自动类型转换 ①将一种算术类型的值赋值给另一种算术类型的变量时,c++对值进行转换

    相关 c++ 类型转换

    自动类型转换很重要,这有助于理解c++的工作细节 自动类型转换 ①将一种算术类型的值赋值给另一种算术类型的变量时,c++对值进行转换 ②表达式中包含不同的类型时,c

    相关 c++ 类型转换

    算术转换 -------------------- 整型提升 负责把小的整数类型转换为较大的整数类型。 bool、char、sign char、unsi

    相关 C++类型转换

    1.引言        C++的强制类型转化用于不同的情况和原因,比C进步的是C++将这些情况细分并用不同的强制类型转换符号来表示。这样程序就比C更容易解析。     

    相关 C++类型转换

    C++类型转换 C语言类型转换 在c语言中,存在两种类型转换,一种是隐式类型转换,另一种是显示类型转换。 如下所示。 int a = 4; dou