zoukankan      html  css  js  c++  java
  • C++ 常用术语(后续补充)

    内存对齐
    常量折叠 
    堆栈解退(stack unwinding) 
    模板特化
    模板偏特化 
    模板实例化 
    函数对象 
    单一定义规则(One-Definition Rule,ODR) 
    自引用 
     
    对象切片(object slicing)/切割当把一个派生类对象赋给一个基类对象时,会发生对象切割。(另外用基类对象强制转换派生类对象也会),多态的实现是通过指针和引用;而对象的转换只会造成对象切割,不能实现多态。
    所有权语义(owership semantics) 
    破坏性复制语义(distructive copy semantics) 
    菱形继承 
    向下强制:基类到派生类的转换 
    向上强制:派生类到基类的转换 
    交叉强制:从一个基类向其兄弟类的强制(多重继承中涉及) 
    RTTI:运行时类型信息,dynamic_cast,type_info
    谓词:返回bool函数对象(或者函数),有一元谓词和二元谓词,标准库中有谓词 
    活动记录(activation record) 
    堆栈帧(stack frame)/调用栈 
    using声明与using指令 
    内存中编译(in-memory compilation) 
    窥孔优化器(peephole optimizer) 
    易碎的基类问题(fragile base-class problem) 
    句柄类(handle class) 
    可重入函数 
    位拷贝与值拷贝:位拷贝拷贝的是地址,而值拷贝则拷贝的是内容 
    浅拷贝(shallow copy)与深拷贝 
    返回值优化(return value optimization) 
    引用计数(reference counting) 
    写拷贝/写时复制(copy-on-write) 
    扇出(fan-out) 
    重定义(redefining):子类重新定义父类中有相同名称的非虚函数 ( 参数列表可以不同 ) 。 
    覆盖/重写(overriding):父类与子类之间的多态性。子类重新定义父类中有相同名称和参数的虚函数。 
    重载(overload) 
    多重指派(multiple dispatching) 
    异常中立的(exception neutral) 
    模板元编程 
    稳定排序与不稳定排序 
    惰性初始化(lazy initialization) 
    多重赋值 
    函数调用栈(function call stack) 
    逆变性与协变返回类型 
    继承树 
    资源获取即初始化RAII(resource acquisition is initialization)

    关联名字查找ADL

    内存泄露(memory leak) 

    野指针(wildpointer) 

    Liskov置换原则:
    定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。
    定义2:所有引用基类的地方必须能透明地使用其子类的对象。
      里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义:
        子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
        子类中可以增加自己特有的方法。
        当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
        当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。

    短路求值(short-circuit evaluation)
    返回值优化(Return Value Optimization RVO)
    koenig查找:名字查找规则
  • 相关阅读:
    静态构造函数
    js-----Date对象
    JS中Math函数的常用方法
    js 简单数据类型和复杂数据类型的区别
    js new关键字 和 this详解
    JS 对象的三种创建方式
    js 预解析
    JS作用域问题
    js实现斐波那契数列
    JS 三元表达式
  • 原文地址:https://www.cnblogs.com/zsb517/p/3236866.html
Copyright © 2011-2022 走看看