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

    C++

    1. RTTI是什么、
      1. 运行时类型识别、使程序能够使用基类的指针或引用来检查指针或者引用所指的对象的实际派生类型、
      2. 通过dynamic_cast运算符可以将基类(父类)指针或引用安全转换成派生类(子类)指针或引用、
      3. typeid运算符、可以返回指针和引用所指向对象的实际类型、
      4. ==基类中必须要有虚函数、这是RTTI(dynamin_cast运算符和typeid运算符)起作用的前提
    2. dynamic_cast运算符、
      1. dynamic_cast<希望转成的目标类型>(要转的指针对象);
      2. 如果引用转换失败会有std::bad_cast异常、扑捉异常 try{正常代码} catch(要扑捉的异常){异常}:
      3. 类似与if else 先执行代码、然后catch开始扑捉代码异常、没有代码异常、正常执行、如果有代码异常、则执行{}里面的代码、catch后面的{} 大括号就像是兜底的作用
    3. typeid运算符、
      1. typeid(类型或者表达式)、
      2. 返回的是常量对象的引用、即type_info
      3. cout<<tyoeud()<<endl;
      4. 主要用于比较两个指针是否指向同一类型对象、
    4. type_info类、
      1. 标准库、是一个类、
    5. RTTI与虚函数表、
      1. 类中含有虚函数、编译器就会对该类产生虚函数表、虚函数表是针对类而言、而虚函数中的每一项便是一个指针、指向虚函数的入口地址、
      2. 虚函数表的第一个表指向的是类所关联的type_info对象、
  • 相关阅读:
    Qt之加载QSS文件
    Qt之QSS(黑色炫酷)
    Sublime Text 2 快捷键
    QTablewidget 简单例子
    QTableview 只显示横向线
    Qt删除文件夹
    Ubuntu(Debian)apt-get
    C++中char*与wchar_t*之间的转换
    Qtl和JS、HTML通信/交互
    浅谈Socket编程
  • 原文地址:https://www.cnblogs.com/chengyaohui/p/13825752.html
Copyright © 2011-2022 走看看