Loading

01 2021 档案

摘要:本篇博客会说明一下虚函数与动态联编的联系,以及虚指针和虚函数表的基本概念。首先了解何为动态联编,何为静态联编。 当程序调用函数时,编译器负责告诉你将使用哪个可执行代码块,将源代码中的函数调用解释为执行特定的函数代码块被称为函数名联编。 在C语言中,每个函数名都对应一个不同的函数,所以用谁是谁,一对一 阅读全文
posted @ 2021-01-18 17:30 eveilcoo 阅读(317) 评论(0) 推荐(0)
摘要:标准图形系统的实施流程通常称为图形管线。”管线“一词在这里指从数学模型到生成屏幕上像素的过程,它包含多个步骤。在经典的体系结构中,这些步骤是按序执行的,即一个阶段的结果输出给下一个阶段,前面阶段随即开始处理新的多边形。 管线简化示意图: 在许多情况下,管线的实现细节并非关注点,这时可以把它看成一个黑 阅读全文
posted @ 2021-01-17 23:16 eveilcoo 阅读(795) 评论(0) 推荐(0)
摘要:首先说明一下仿指针与仿函数是什么,指针我们知道是一个地址,我们可以利用指针来访问它所指向的value,仿指针就是用一个类去实现指针的作用,那么我们为什么要特地写一个类去实现指针呢,因为在我们开发过程中,我们希望指针可以有更多功能,而不仅仅是指向一个地址,那么我们就可以通过一个类去实现指针的功能的前提 阅读全文
posted @ 2021-01-17 19:58 eveilcoo 阅读(208) 评论(0) 推荐(0)
摘要:Conversion function个人理解为是一个跟重载配合使用的重要结构,我们经常会对一些对象进行类型转换,比如把一个Double类型转为Int类型,或是float类型转Double类型,那么当我们构建自己的类的时候,我们希望当它与某种类型进行相加相减之类的操作时,能够自动将自己转换为对应的类 阅读全文
posted @ 2021-01-16 21:15 eveilcoo 阅读(291) 评论(0) 推荐(0)
摘要:这两种模式都是基于 Delegation(委托) + Inheritance(继承) 而来的, 首先讲一下Composite模式,也就是组合模式,是一个经典的设计模式。 组合模式是什么? 组合模式是指将对象组合成树形结构以表示"部分-整体"的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一 阅读全文
posted @ 2021-01-16 13:50 eveilcoo 阅读(170) 评论(0) 推荐(0)
摘要:了解到复合关系与继承关系,我们知道了复合关系下:先构造内部,再构造外部 继承关系下:先构造父类,再构造子类 那么在既有复合关系,又有继承关系的情况下,构造与析构的顺序分别是怎样呢,基于这个问题,写一段简单的代码观察。 #include<iostream> using namespace std; c 阅读全文
posted @ 2021-01-15 15:58 eveilcoo 阅读(459) 评论(0) 推荐(0)
摘要:向量方程 线性方程组的重要性质都可用向量概念与符号来描述。 R2中的向量: 仅含一列的矩阵称为列向量,或简称向量,包含两个元素的向量如下: 其中w1和w2是任意实数,所有两个元素的向量集记为R2,R表示向量中的元素是实数,而指数2表示每个向量包含两个元素. 给定R2中两个向量u和v,它们的和u+v是 阅读全文
posted @ 2021-01-14 21:10 eveilcoo 阅读(533) 评论(0) 推荐(0)
摘要:C++ 虚函数与多态 Inheritance(继承)with virtual functions(虚函数) non-virtual函数:你不希望derived class 重新定义(override,覆写)它它已有默认定义。 pure virtual函数:你希望derived class 一定要重新 阅读全文
posted @ 2021-01-14 19:29 eveilcoo 阅读(78) 评论(0) 推荐(0)
摘要:组合与继承 Composition(复合),表示has-a复合关系简单来说,就是一个类中有另外一个类,A类中需要实现的东西,完全可以由B类中的方法来实现的话,就不需要在A类中去写,而直接去调用B类中的方法就行了。 template <class T, class Sequence = deque<T 阅读全文
posted @ 2021-01-14 11:10 eveilcoo 阅读(264) 评论(0) 推荐(0)
摘要:2020/1/13 #ifndef __MYSTRING__ #define __MYSTRING__ #include <cstring> #include <iostream> using namespace std; class mystring { public: mystring(cons 阅读全文
posted @ 2021-01-13 19:29 eveilcoo 阅读(99) 评论(0) 推荐(0)
摘要:从之前的博客中有提到,C++有两种特性 return by value and return by reference 一种是返回值,一种是返回引用 并且,在一般情况下,传引用比传值效率更高。 先说说引用是什么,引用用的是&符号,&符号既可以用来当引用,也可以用来当取地址符,只不过使用方法不同。 引 阅读全文
posted @ 2021-01-13 19:20 eveilcoo 阅读(94) 评论(0) 推荐(0)
摘要:stack(栈) heap(堆)Stack,是存在于某作用域(scope)的一块内存空间(memory space).例如当你调用函数,函数本身即会形成一个stack用来放置它所接收的参数,以及返回地址。 在函数本身(function body)内声明的任何变量,其所使用的内存块都取自于上述stac 阅读全文
posted @ 2021-01-13 17:03 eveilcoo 阅读(286) 评论(0) 推荐(0)
摘要:2021/1/13 #ifndef __MYCOMPLEX__ #define __MYCOMPLEX__ class mycomplex; mycomplex& __doapl(mycomplex* ths, const mycomplex& r); class mycomplex { publi 阅读全文
posted @ 2021-01-13 17:01 eveilcoo 阅读(89) 评论(0) 推荐(0)
摘要:操作符就是一种函数,是可以让你重新定义的比如说相加,与其自己写个相加函数 plus(u,v); 将u,v相加,用 "+" 号 显得更为方便,可读性更高,所以C++就出现了重载运算符这个功能。并且可以实现将各种你需要的属性相加。 一般来说,重载操作符的对象会有接收者和传递者 inline comple 阅读全文
posted @ 2021-01-13 16:59 eveilcoo 阅读(428) 评论(0) 推荐(0)
摘要:C++关于数据和函数 C语言在设计程序的时候会准备一些数据和函数,函数用来处理你创造的数据,这样会有一些缺点,由于语言没有提供足够的关键字,所以这些数据一定是全局的,所以所有的函数都可以处理这些数据,在后期会造成很大的影响的,所以面向对象语言C++出现了,基本思想是把数据和处理这些数据的函数包装在一 阅读全文
posted @ 2021-01-11 20:28 eveilcoo 阅读(239) 评论(1) 推荐(0)
摘要:线性方程组: 包含变量x1,x2,……,xn的线性方程是形如 a1x2 +a2x2+...+a3x3 = b 的方程,其中b与系数a1 ,a2 ,…… ,an是实数或者复数,通常是已知数,下标n可以是任意正整数。 线性方程组的解有下列三种情况: ①无解 ②有唯一解 ③有无穷多解 若一个线性方程组有一 阅读全文
posted @ 2021-01-11 16:03 eveilcoo 阅读(1932) 评论(0) 推荐(0)