博客专栏  >  编程语言   >  深度探索C++对象模型一书观后感

深度探索C++对象模型一书观后感

说是观后感,其实是随便写写,因为这书比较烧脑,算是加深一下记忆吧。

关注
3 已关注
16篇博文
  • 深度探索c++对象模型之执行期的类型识别RTTI

    在cfront中,用来表现一个程序的内部类型体系,看起来像这样: //程序层次结构的根类(root class) class node{...}; class type : public node{...

    2017-04-08 18:36
    472
  • 深度探索c++对象模型之异常处理的前介

    对于exception handling【异常处理】来说,编译器的主要工作是找出所有的catch子句,以处理被丢出来的exception。这就需要追踪程序堆栈中的每一个函数的当前作用域,包括追踪函数中...

    2017-02-12 17:49
    198
  • 深度探索c++对象模型之member function的具现行为

    对于template 的支持,最困难的就是template function的instatiation【具现】。截至此书问世,大家的编译器提供了两种策略:一个是编译时期策略——模板程序代码必须在pro...

    2016-12-11 20:15
    343
  • 深度探索c++对象模型之template中的名称决议方式

    我们应该能够区分以下两种意义:一个是c++ standard标准中的“scope of the template definition”【模板定义域】,另一个是c++ standard标准中的“sco...

    2016-12-06 18:45
    509
  • 深度探索c++对象模型之template的错误报告

    考虑下面的template声明【里面有不少错误】: template class Mumble { public$: //第一处错误,非法标识符$ Mumble( T t=1024 ) //第二...

    2016-12-03 16:40
    517
  • 深度探索c++对象模型之template的具现行为

    让我们先来设计一个模板类,名字叫Point:template class Point { public: enum Status{ unallocated, normalized }; P...

    2016-12-02 18:26
    619
  • 深度探索c++对象模型之临时对象的传说

    有一种说法是,由于临时对象的产生,c++的执行会浪费掉不少效率,因此在以前的计算机界,c++只能成为FORTRAN等主流语言之外的第二语言。还有不少人认为,这种效率上的浪费足以掩盖c++在抽象对象化上...

    2016-12-01 18:56
    271
  • 深度探索c++对象模型之临时对象的探讨

    如果我们有一个自定义类类型T,里面有一个int变量x,再在里面定义了一个operator+【T operator+( const T& _a, const T& _b)】,然后我们声明了3个T对象a、...

    2016-12-01 18:44
    291
  • 深度探索c++对象模型之placement operator new语意

    首先谈谈new、delete和operator new、operator delete的区别:new和delete只是c++中的运算符而已!而operator new和operator delete则...

    2016-11-18 18:50
    457
  • 深度探索c++对象模型之带有constructor类数组的new语义学

    还记得我们以前谈过的“vec_new”吗,它只针对有constructor的类数组,像我们写【int *p = new int[5];】或【My_Simple_Class *pm = new My_S...

    2016-11-13 20:19
    561
  • 深度探索c++对象模型之new和delete运算符介绍

    在c++中,无论是new还是delete,它们都被当成是运算符的,new运算符对应的是C语言中的malloc函数【在new的重载运算符函数里面调用malloc】,而delete自然对应的是C语言中的f...

    2016-11-09 20:31
    378
  • 深度探索c++对象模型之类对象数组的黑盒

    还是以前的Point类,如果我们用Point声明了一个数组,比如【Point p[10];】,在编译器层面会发生什么呢?这要分为两种情况,首先,如果我们在定义Point类时,既没有定义一个constr...

    2016-11-07 17:55
    368
  • 深度探索c++对象模型之虚继承的对象构造

    郑重声明:以下文字“借鉴”自侯捷老师的译作《深度探索C++对象模型》部分内容,写在这里,算是加深自己对此书内容的记忆,因为鄙人水平太浅,难免有理解错误的地方,如果有朋友看出来,还请费神指出,鄙人不胜感...

    2016-11-02 19:05
    480
  • 深度探索c++对象模型之vptr初始化语意学

    上一篇中,我提到了关于一个派生类对象构造时,里面基类们的构造顺序,是从内到外、从根源到末端。所以对一个PVertex对象来说,它的构造顺序是:1、Point   2、Point3d  3、Vertex...

    2016-11-03 20:38
    365
  • 深度探索c++对象模型之类对象的赋值

    在C++中,当我们声明一个类时,如果没有给这个类操作符“=”定义一个函数,那么一般情况下编译器会自动为这个类合成一个默认的copy assignment operator【拷贝赋值操作符】,而这种co...

    2016-11-04 17:48
    437
  • 深度探索c++对象模型之类全局对象的初始化与析构

    与C语言相比,c++复杂的地方与很多,其中之一就是对全局对象的初始化。在C语言中很简单,不管是内带类型还是自定义的结构体类型,如果声明为全局对象并且我们没有给它们一个显示的常量初始化的话,那么它们都会...

    2016-11-05 18:42
    409
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部