![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 52
比比
这个作者很懒,什么都没留下…
展开
-
C++程序设计(下)第一周
1.转换函数(conversion fuction)转换函数一般是类的成员函数。转换函数的作用是,把class转化成某种类型,也可以把其他类型转换为class。例如,设计一个函数Fraction,在class Fraction里,定义了一个函数,operator double()const {..}这个函数就是转化函数,它的用处是,如果需要把fraction这个类转为double,就调用这原创 2017-11-12 17:55:34 · 208 阅读 · 0 评论 -
C++ 面向对象编程下 第二周
1.对象模型(objiect model):关于vptr和vtbl以及关于Dynamic Binding继承时除了继承成员变量外,还继承成员函数;继承的成员函数是继承它的调用权;动态绑定:即通过指向对象的指针找到相应的虚函数虚表,找到其中的第n个,把它当成函数指针,去调用这个函数;(*(p->vptr)[n])(p)或(*p->vptr[n](p));n就是这个虚函数在虚函数表格中原创 2017-11-18 06:53:16 · 190 阅读 · 0 评论 -
C++ STL第三周笔记
1.容器deque容器deque的实现原理:deque两端都可以进出元素,而且它是“连续”存储的,它的实现原理图如下图。可以看到deque由这几部分构成:map(控制中心,实际上是vector类型),start(迭代器),finish(迭代器)。其中两个迭代器中均包含四个元素:以start迭代器为例。其中cur(指向当前元素的指针),first(指向这片缓存区的第一个缓存块),last原创 2017-12-10 23:44:49 · 198 阅读 · 0 评论 -
C++ STL与泛型编程第二周
分配器allocators在大多数版本的STL中,allocator的操作就是重载了C语言的malloc()和free();容器listlist容器是一个双向环状链表,由于容器“前闭后开”的特性,容器的最后一个元素不是指向容器的第一个元素,而是指向一个空白节点。templatestruct _list_node //(1){ typedef void* void原创 2017-12-04 00:20:31 · 293 阅读 · 0 评论 -
C++标准库学习
C++ 标准库主要是用模板做出来的,所以我们需要知道怎样正确使用模板;C++标准库标准模板库(STL)标准库以头文件形式呈现C++标准库的头文件不带.h;新式C头文件不带.h,例如#include旧式C头文件带.h,例如旧式头文件内的组件不被封装于namespace "std"重要网页:www.cplusplus.comCppReference.原创 2017-11-26 23:19:53 · 811 阅读 · 0 评论 -
STL适配器-第四周学习笔记
template一、iterator_category对算法的影响我们可以看到,代码3执行的时候会根据iterator_category的值选择1或者2,算法内部所做的操作是不一样的。算法的效率和它能不能判断出迭代器的类型有很大关系;//..........................1...............................templateinlin原创 2017-12-18 00:09:04 · 230 阅读 · 0 评论