关于于c++中的类型转换

  1. 隐藏式类型转换
    1.   
      void test() {
          int a = 10;
          char b=10;
          a = b;     //此时发生的是默认的类型转
          //(据说编译器是微软的编译器是不允许编译通过)
          std::cout
              << a
              << "
      ";
      }

      但是这儿编译器认为简单的可以

      但是有编译器处理不了的时候,自定义类型没有转换规则,或者内置函数,指针的传入传出发生类型转换c++舍弃了自动的类型转换。

        
  2.  显式类型转换
    1.   个人理解为只要程序员眼睛可以看见的 类型都称作 “显示”
  3. 强制的类型转换
    1.   
          void test() {
              using namespace std;
              int a = 100;
              int* b = &a;
              //char* c = b;          //c++编译器不允许通过
              char* c = (char*)b;//必须手动的进行强制类型的转换
      
              std::cout<<a<<endl;
              std::cout << b<<endl;
              std::cout << *b << endl;
      }
原文地址:https://www.cnblogs.com/MyLoveLiJuan/p/11973123.html