zoukankan      html  css  js  c++  java
  • 学习第44天

    C++语言

    1. 隐式类型转换、

      1. 系统自动进行、
    2. 显示类型转换、(强制类型转换)

      1. C语言中的两种强制类型转换、

        1. int a=5%(int)3.2

        2. int a = 5% int (3.2)

        3. 以上两个方法均可以将浮点型强制转换 为int型、但是会丢失精度、

        4. C++中有四种转换强制转换、目的是提供更丰富的含义和功能、

          1. static_cast、

            1. 静态转换、编译时进行类型转换检查、

            2. 相关类型风格转换、

            3. double a = 2.32;
                 	int b = (int)a;//C语言的转换方式、
                 	int c = static_cast<int>(a);//C	++的强制转换
              
            4. 整型转实性、

            5. 子类转父类、

            6. void*(无类型指针、可以指向任何指针类型)与其他类型指针、类型之间转换、

          2. dynamic_cast、

            1. 常用于运行时类型识别和检查、主要用来父类型于子类型之间转换的、(父类型指针指向子类型转)、
            2. 这四种强制类型转换中唯一在运行时进行转换的、其余均是在编译时转换、
          3. const_cast、

            1. 去除指针和const属性、将const性质强制转换掉(去除掉)、

            2. 编译时进行类型转换、

            3. const int a = 10;
              	const int* b = &a;
              	int* c = const_cast<int*>(b);
              	*c = 20;//写值行为、属于未定义行为、结果会不确定、
              	cout << a << endl;
              	cout << *b << endl;
              
            4. 功能单一、只能去除指针及其const属性、

          4. reinterpret_cast、

            1. 重新解释、将操作内容解释为另一种不同的类型、将操作数的类型转换、

            2. 处理无关类型的转换、两个转换类型之间没有任何关系、

            3. 常用于、将一个整形(地址)转成指针、一种类型的指针转换成另一种类型的指针、按照转换后的类型重新解释内存内的内容、

            4. int a = 6;
              	int* b = &a;
              	int* c = reinterpret_cast<int*>(b);
              	char* d = reinterpret_cast<char*>(b);
              
              
          5. 可以将2字节转换为4字节或者8字节、当然也可以让8字节或者其它字节转换为别的字节、8转2或4均可、

        5. 以上四个均成为命名的强制类型转换、

        6. 通用形式、

          1. 强制类型转换名(即以上4个命名)<转换目标类型>(要转换的值);

            1. 类型转换就是为了让编译器不报错而存在的
      2. 总结、

        1. 类型转换少用因为会干扰系统的类型检查、
  • 相关阅读:
    springmvc源码学习
    springboot启动原理解析
    spring源码学习五
    mybatis源码学习(三)-一级缓存二级缓存
    mybatis源码学习(二)--mybatis+spring源码学习
    mybatis源码学习(一) 原生mybatis源码学习
    spring源码学习(四)-spring生命周期用到的后置处理器
    redis安装(centos 7)
    Centos 7 学习笔记
    Mysql 查看及设置事物隔离级别
  • 原文地址:https://www.cnblogs.com/chengyaohui/p/13763804.html
Copyright © 2011-2022 走看看