随笔分类 -  深度探索C++对象模型

摘要:第7章 站在对象模型的尖端 7.1 Template 这一节的焦点放在template的语意上面, 下面是有关template的三个主要讨论方向: 1. template的声明. 基本来说就是当声明一个template class, template class member function等等时 阅读全文
posted @ 2019-04-01 11:07 张飘扬 阅读(166) 评论(0) 推荐(0)
摘要:第6章 执行期语意学 6.1 对象的构造和析构 constructor和destructor的安排 另外也很有可能在这个区段的结束符号(右大括号)之前被生出来, 即使程序分析的结构发现绝不会进行到那里 , 一般而言会把object尽可能放置在使用它的那个程序区段附近, 这么做 可以节省非必要的对象产 阅读全文
posted @ 2019-03-30 22:58 张飘扬 阅读(310) 评论(0) 推荐(0)
摘要:第5章 构造, 析构, 拷贝语意学 [TOC] 5.1 "无继承"情况下的对象构造 C struct的Point声明 抽象数据类型 总的来说, 观念上, Point class有一个相关的default copy constructor, copy operator和destructor. 然而它们 阅读全文
posted @ 2019-03-27 18:28 张飘扬 阅读(284) 评论(0) 推荐(0)
摘要:第4章 Function语意学 [TOC] 有两个成员函数这么定义 考虑下面是怎么调用函数的 并能确定函数的调用方法. C++支持三种类型的member functions: static, nonstatic和virtual, 每一种类型被调用的方式都不同. 虽然不能确定normalize()和m 阅读全文
posted @ 2019-03-26 21:47 张飘扬 阅读(288) 评论(0) 推荐(0)
摘要:第3章 Data语意学 [TOC] 类X, Y, Z, A具有如下关系 C++ class X { int a = 0; }; class Y : public virtual X {}; class Z : public virtual X {}; class A : public Y, publ 阅读全文
posted @ 2019-03-25 19:15 张飘扬 阅读(380) 评论(0) 推荐(0)
摘要:第2章 构造函数语意学 2.1 默认构造函数的构造 考虑如下代码 上述代码是否会合成默认的构造函数? 这里有两个问题要弄明白: 编译器需要 程序需要 : 上述代码就是"程序需要", 编译器会 声明 一个构造函数, 但是并 不会合成出来 , 所以还是没有构造函数, 在这种情况下为程序执行初始化应该是程 阅读全文
posted @ 2019-03-24 16:47 张飘扬 阅读(240) 评论(0) 推荐(0)
摘要:第1章 关于对象 [TOC] 在C语言中, "数据"和"处理数据的操作(函数)"是分开来声明的, 也就是说语言本身并没有支持"数据和函数"之间的关联性. 把这种程序方法称为程序性, 有一组"分布在各个以功能为向导的函数中"的算法所驱动, 它们处理的是共同的外部数据. C++支持封装的性质并没有带来任 阅读全文
posted @ 2019-03-24 16:17 张飘扬 阅读(299) 评论(0) 推荐(0)