当前位置: 首页 > news >正文

短链接生成器官方最新网站排名优化方法

短链接生成器官方,最新网站排名优化方法,吉林长春建设工程信息网站,房地产销售营销方案static_cast与dynamic_cast转换   一 C语言中存在着两种类型转换#xff1a; 隐式转换和显式转换 隐式转换#xff1a;不同数据类型之间赋值和运算#xff0c;函数调用传递参数……编译器完成 char ch;int i ch; 显示转换#xff1a;在类型前增加 #xff1a;#xff…static_cast与dynamic_cast转换           一 C语言中存在着两种类型转换 隐式转换和显式转换 隐式转换不同数据类型之间赋值和运算函数调用传递参数……编译器完成 char ch;int i ch; 显示转换在类型前增加 Type变量 对变量进行的转换。用户显式增加 char *pc (char*)pb;void *ps (void*)pa; 二 C中的类型转换   通过这两种方式C语言中大部分的类型转换都可以顺利进行。 至于能不能进行转换转换后的结果如何编译器不管需要用户自己去控制。   C继承了C中的隐式和显式转换的方式。但这种转换并不是安全和严格的 加上C本身对象模型的复杂性C增加了四个显示转换的关键字。C是强类型语言 static_castdynamic_castconst_staticreinterpret_cast   1 static_cast 1用于基本的数据类型转换charint及指针之间的转换 test_enum type test_enum_1;char a ;int b static_castint(a);char c static_castchar(b);type static_casttest_enum(b);char* pa NULL;int *pb (int*)pa;//int *pb static_castint*(pa); //error//pa static_castchar*(pb) //error char *pc (char*)pb;//char *pc static_castchar*(pb); //errorvoid *p static_castvoid*(pa);pb static_castint*(p);pc static_castchar*(p);   2类层次中基类与子类成员函数指针的转换   class A{public: void set(){}};class B:public A{public: void set(){}};typedef void (A::*PS_MFunc)();   //指向类A的成员函数指针PS_MFunc func A::set;func static_castPS_MFunc(B::set); //基类指向子类成员函数指针必须进行转换 3类层次结构中基类与子类指针或引用之间的转换      上行转换子类指针或引用转换成基类表示——安全   下行转换基类指针或引用转换成子类表示——危险没有动态类型检查 class A{};class B:public A{};class C:public A{};class D{};A objA;B objB;A* pObjA new A();B* pObjB new B();C* pObjC new C();D* pObjD new D();objA static_castA(objB); //转换为基类引用 objA static_castA(objB);objB static_castB(objA); //error 不能进行转换 pObjA pObjB; //right 基类指针指向子类对象//objB objA; //error 子类指针指向基类对象pObjA static_castA*(pObjB); //right 基类指针指向子类pObjB static_castB*(pObjA); //强制转换 OK 基类到子类//pObjC static_castC*(pObjB); //error 继承于统一类的派生指针之间转换 //pObjD static_castD*(pObjC); //error 两个无关联之间转换   2 dynamic_cast 1继承关系的类指针对象或引用之间转换          class A{};class B:public A{};class C:public A{};class D{};A objA;B objB;A* pObjA new A();B* pObjB new B();C* pObjC new C();D* pObjD new D();//objA dynamic_castA(objB); //error 非引用objA dynamic_castA(objB);//objB dynamic_castB(objA); //error A 不是多态类型不能转换 若有虚函数则可以进行转换pObjA dynamic_castA*(pObjB);//pObjB dynamic_castB*(pObjA); //error A 继承关系 不是多态类型不能转换//pObjB dynamic_castB*(pObjC); //error C 兄弟关系 不是多态类型不能转换//pObjB dynamic_castB*(pObjD); //error D 没有关系 不是多态类型不能转换     2包含有虚函数之间对象指针的转换    class A{Public: Virtual ~A(){}};class B:public A{};class C:public A{};class D{Public:Virtual ~D(){}}; pObjB dynamic_castB*(pObjA); // worning 继承关系 父类具有虚函数 多态pObjB dynamic_castB*(pObjD); //worning 没有关系 D是多态类型可以转换//以上结果pObjB NULL 此处会发生一个运行时错误          也就是说除了基类指针指向子类对象可以没有虚函数外其它要进行dynamic_cast转换必须具有虚函数才行。 那这是为什么呢下面继续   3dynam_cast转换的安全性          dynamic_cast是动态转换只有在基类指针转换为子类指针时才有意义。 子类指针转换为基类指针本来就是可以的基类指针指向子类对象OK。 但是基类指针转换为子类指针并不是每一次都有效只有基类指针本身指向的是一个派生类的对象 然后将此基类指针转换为对应的派生类指针才是有效的。这种情况在表面上是无法判定的。此时dynamic就发挥了作用。 情况1 static_cast转换        class A{}; class B:public A{public: int m; //B 成员};A* pObjA new A();B* pObjB NULL;pObjB static_castB*(pObjA); //基类指针转化为子类指针 成功转换pObjB-m 10;   //实际中pObj所指向的对象 是A类对象//上面会发生什么呢在VC6.0中正常运行。。。//如果pObjB dynamic_castB*(pObjA); //error 基类A没有虚函数 不构成多态 情况2     dynamic_cast转换     class A{public: virtual ~A(){} //虚函数 多态};class B:public A{public: int m;};A* pObjA new A();B* pObjB NULL;pObjB dynamic_castB*(pObjA); //编译通过 //实际运行结果pObjB NULL // dynamic_cast保证转换无效 返回NULL          dynamic_cast转换不成功则返回0。 4 虚函数对于dynamic_cast转换的作用   为何使用dynamic_cast转换类指针时需要虚函数呢。 Dynamic_cast转换是在运行时进行转换运行时转换就需要知道类对象的信息继承关系等。 如何在运行时获取到这个信息——虚函数表。   C对象模型中对象实例最前面的就是虚函数表指针 通过这个指针可以获取到该类对象的所有虚函数包括父类的。 因为派生类会继承基类的虚函数表所以通过这个虚函数表我们就可以知道该类对象的父类在转换的时候就可以用来判断对象有无继承关系。   所以虚函数对于正确的基类指针转换为子类指针是非常重要的。  转载于:https://www.cnblogs.com/yuanming/p/7063672.html
http://wiki.neutronadmin.com/news/124515/

相关文章:

  • 北京网络网站建设公司谷德设计网打不开
  • 备案网站名称攻略厦门专业网站
  • 西宁建设工程官方网站制作简单门户网站步骤
  • 外国公司做网站系统开发报告
  • 如何提高网站的点击量产品网站怎样做外部链接
  • 国内自助建站有什网站可以做设计赚钱
  • 怎么看网站建设有多久网站建设补贴
  • 无锡网页建站公司广州网站建设海珠新科
  • 怎么修改公司网站内容网站开发对企业的关键
  • 软件网站关键词优化盐城工程造价信息网
  • 网站备案快速备案久久建筑网免费下载怎么没有了
  • 网站建设制作公司哪家义乌网站建设电话
  • 深圳网站设计精选刻邯郸市有搞网站服服务的吗
  • 网站竞价如何做wordpress to joomla
  • 汕头网站排名推广简约大气的ppt模板免费下载
  • 外贸网站开发定制公众号怎么建立
  • 有哪些企业可以做招聘的网站有哪些内容wordpress产品参数
  • 电子商务专业网站wordpress付费阅读文章功能
  • seo整站网站推广优化排名网站视觉元素
  • 电影网站建设规划书移动端使用wordpress富文本编辑器
  • 网站建设在哪个软件下做旅游网站建设费用
  • 专业的网站建设案例开发平台游戏
  • 织梦iis7搭建网站那些行业做网站优化的比较多
  • php网站怎么做自适应江苏建设人才网官网入口
  • 深圳网站建设 工作室南京做网站企业
  • 怎么关键词优化网站制作网页一般多少钱
  • 容桂手机网站建设网站开发需要什么专业知识
  • 优秀国内个人网站网址网站备案多久可以注销
  • 网站怎样做的有吸引力重庆旅游攻略详细安排
  • 国内做视频网站需要啥建e室内设计网官网全景效果图