美文网首页
GeekBand C++ WEEK4

GeekBand C++ WEEK4

作者: 胖胖核桃 | 来源:发表于2016-08-13 15:21 被阅读0次
    1. 对象模型
    1. 首先我们需要知道的是多态动态绑定,**虚函数 **其实讲的是同一件事情;
    2. c++ 编译器看到函数调用,会考虑静态绑定还是动态绑定;
    3. 动态绑定的条件:
    4. 必须是通过指针或引用来调用;
    5. 这个指针或引用是向上转型的 -- 派生类向基类的转换;
    6. 调用虚函数。
    7. 动态绑定过程:通过指针P,找到 vptr , 再找到 vtbl ,再从里面看看指向哪个函数。可以看下面老师这张图片来理解:
    理解动态绑定
    1. 具体实例可以看 Template Method 的实现过程。
    2. 对 new,delete 的补充说明--我的笔记基本都是关于语法内容的
    1. 重载的原因:需要自定义内存分配的细节,需要重载new和delete运算符以控制内存分配的过程。
    2. 当自定义了全局的operator new 和 operator delete 函数后,我们就担负了控制内存分配的职责。
    3. 我们可以使用作用域运算符令new表达式或delete表达式忽略定义在类中的函数,直接执行全局作用域中的版本。
    4. 对于operator new函数或者 operator new[] 函数来说,他的返回类型必须是void* ,第一个形参的类型必须是size_t 且该形参不能含有默认实参。
    5. 对于operator delete函数或者 operator delete[] 函数来说,他的返回类型必须是void ,第一个形参的类型必须是void*。

    注: 本周笔记内容较少,主要是一些内容的补充。

    相关文章

      网友评论

          本文标题:GeekBand C++ WEEK4

          本文链接:https://www.haomeiwen.com/subject/njslsttx.html