zoukankan      html  css  js  c++  java
  • C++ Primer 关键概念

    记录 C++ Primer 中的一些关键概念

    关键概念:名字查找与继承

    理解函数调用的解析过程对于理解 C++ 的继承至关重要,假定我们调用 p->mem() 或 obj.mem() 则执行以下 4 个步骤:

    • 首先确定 p(或 obj )的静态类型。因为我们调用的是一个成员,所以该类型一定是个类类型。
    • 在 p(或 obj )的静态类型对应的类中查找 mem。如果找不到,则依次在基类中不断查找直至到达继承链的顶端。如果找遍了继承链还是没有找到,则编译器报错。
    • 一旦找到 mem 就进行常规的类型检查以确认对于当前找到的 mem,本次调用是否合法。
    • 假设调用合法,则编译器将根据调用的是否为虚函数而产生不同的代码:
      —— 如果 mem 是虚函数且是我们通过指针或引用进行调用的,则编译器产生的代码将在运行时确定到底运行该虚函数的哪个版本,依据是对象的动态类型。
      —— 反之,如果 mem 不是虚函数或不是通过指针或引用调用的,则编译器将直接产生一个常规的调用。
  • 相关阅读:
    case when then用法
    查询后n条记录
    自定义函数
    字符函数
    数字运算符和函数
    时间日期函数
    mysql加密函数
    比较运算符和函数
    文件夹中的文件以目录的形式呈现
    错误提示:通过 Web 服务器的身份验证的用户无权打开文件系统上的文件
  • 原文地址:https://www.cnblogs.com/Codroc/p/13558260.html
Copyright © 2011-2022 走看看