自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 设计模式之组件协作模式

设计模式学习设计模式的作用是 在稳定和变化之间寻找一个间隔层,将稳定部分和变化分割开,提高软件复用性。一、软件设计思想1.理解松耦合设计思想 2.掌握面向对象设计原则 3.掌握重构技法改善设计 4.掌握GOF 核心设计模式二、设计原则1.依赖倒置原则(DIP)稳定(抽象) 依赖 稳定; 不稳定 (实现细节,易变化)依赖 稳定。2.开放封闭原则(OCP)对扩展开放,对更改封闭;就是增加一个需求时,只需要增加代码就好,而不是去修改以往代码。具有扩展性3、单一职责原则一个类只有一个责任4.L

2021-03-17 23:07:51 245

原创 C++11 std::move和std::forward

下文先从C++11引入的几个规则,如引用折叠、右值引用的特殊类型推断规则、static_cast的扩展功能说起,然后通过例子解析std::move和std::forward的推导解析过程,说明std::move和std::forward本质就是一个转换函数,std::move执行到右值的无条件转换,std::forward执行到右值的有条件转换,在参数都是右值时,二者就是等价的。其实std::move和std::forward就是在C++11基本规则之上封装的语法糖。1 引入的新规则规则1(引用折叠规则

2020-11-11 16:16:24 326 1

原创 移动语义笔记

左值与右值区别右值引用、对象移动 在c++中,一个值要么是右值,要么是左值,左值是指表达式结束后依然存在的持久化对象,右值是指表达式结束时就不再存在的临时对象。所有的具名变量或者对象都是左值,而右值不具名。 C引入右值引用之后,可以通过右值引用,充分使用临时变量减少不必要的拷贝,提高效率。int&& i = 123;int&& j = std::move(i);int&& k = i;//编译不过,这里i是一个左值,右值引用只能引用右值右值引用不能绑

2020-11-10 21:37:16 149

原创 内存对齐原因和规则

为什么要内存对齐?尽管内存是以字节为单位,但是大部分处理器并不是按字节块来存取内存的.它一般会以双字节,四字节,8字节,16字节甚至32字节为单位来存取内存,我们将上述这些存取单位称为内存存取粒度.现在考虑4字节存取粒度的处理器取int类型变量(32位系统),该处理器只能从地址为4的倍数的内存开始读取数据。假如没有内存对齐机制,数据可以任意存放,现在一个int变量存放在从地址1开始的联系四个字节地址中,该处理器去取数据时,要先从0地址开始读取第一个4字节块,剔除不想要的字节(0地址),然后从地址4开始

2020-11-05 23:28:33 461

原创 进程地址模型

在前面的章节中,我们已经了解到可执行文件是如何映射到计算机内存里的,本节将再深化一下对这方面的理解,顺便结合上一章中关于动态链接的内容,看看加上动态链接之后进程的地址空间是如何分布的。现代的应用程序都运行在一个内存空间里,在32位的系统里,这个内存空间拥有4GB(2的32次方)的寻址能力。相对于16位时代i386的段地址加段内偏移的寻址模式,如今的应用程序可以直接使用32位的地址进行寻址,这被称为平坦(flat)的内存模型。在平坦的内存模型中,整个内存是一个统一的地址空间,用户可以使用一个32位的指针访问

2020-09-16 18:51:11 301

原创 虚拟内存

虚拟内存让进程以为自己分配了连续的内存地址,而实际上,它是把物理内存映射成虚拟内存,将物理地址映射成逻辑地址,物理地址不一定是连续的,是离散的,并且外存的数据并不是全部加载到内存里面的,有的是需要时再加载的,所以虚拟内存相对于未加载完的物理内存更大。逻辑地址映射物理,通过:1.根据逻辑地址算出页号和页内偏移量(也是OS对逻辑地址等长划分成的单位,页框是对物理地址的划分)2.查询页表,找到页号对应...

2020-04-18 15:21:44 163

原创 进程和线程

进程进程是一个程序正在运行的实例,是操作系统分配资源基本单位,包括两点:1.一个内核对象,操作系统用来管理进程。内核对象也是系统保存进程统计信息的地方。2.一个地址空间,包括所有可执行文件和dll的数据。此外还包含动态内存分配,比如线程堆栈和堆的分配。进程是有惰性的,只提供了空间和数据,要做任何事情,都需要一个线程在它的上下文(CONTEXT)中运行。线程负责执行代码,一个进程可以有多个线...

2020-04-13 18:33:59 150

原创 内核对象

整理下《windows核心编程》和《effective C++》内容。内核(kernel)是操作系统**最核心的部分,是最核心的代码和数据。**内核常驻于内存,负责处理各种各样的核心任务,比如I/O、进程管理、内存管理等。内核具有高权限,能够完成普通应用程序没有权限完成的任务,当应用程序需要执行高权限的操作时,应用程序就告诉内核自己想要做什么,并将控制权移交给内核,由内核去完成任务,任务完成后再...

2020-04-13 17:54:48 310

原创 C++多态(动态)的实现原理

一、什么是多态什么是多态?同一个事物多种表现形式,强调接口的重用性。看下面:class A {public: int n; virtual void show() { cout << "A show!" << endl; } virtual void show2() { cout << "A2 show!" << en...

2019-12-11 17:32:50 1573

原创 做完项目后对面向对象设计的感悟

​ 从今年6月底负责一个基于面向对象设计的C++项目,功能是做卫星成像任务规划算法服务的,我主要做的是高分7号卫星,而前面已经是做了5颗卫星了。以前对面向对象设计仅局限于理论知识,知道它有封装、继承、多态的特性,也明白是如何实现以及它的好处,但只有你真正地应用到具体项目中去,才能深刻地感受到它的好处。一、封装​ 将业务封装起来,提高可复用性。二、继承​ ...

2019-11-28 17:37:38 219

原创 并发与并行

一、什么是并发与并行并行的意思是:同时进行;串行是一个一个进行。并发与并行的区别:并发:宏观上并行(即给人的感觉是同时进行的),微观(实际)上是串行的;并行:宏观上并行(即给人的感觉是同时进行的),微观(实际)上也是并行。两者在宏观上给人的感觉都是在同时进行,然而本质上两者存在很大的区别。1.并发在微观上的表现是串行的,在同一个CPU的同一核中交叉式地处理线程,而不是同时处理多个线程...

2019-06-07 20:47:22 482 2

原创 vue中用openlayers实现移动点动画

做项目时,本来打算仿照官网的Example中动画制作,引入vue中后,发现它引用的库函数一直报错,最后我去vue中安装的依赖库中去查找这个函数,果然没有。也就是说官方例子使用的库和我安装的OL库存在一定差异。 后来我还是用笨方法去解决了,最终效果如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190319151929120.gif)...

2019-03-19 15:27:34 4842 4

转载 根据前序和中序还原一个树

前序和中序还原一个树

2019-03-01 11:02:06 277

原创 VUE使用router.push实现页面跳转和传参

vue项目中在需要不同页面之间跳转并且传递数据时,通常会使用router.push较为方便,当然使用windows.href和sessionStorage一起用也可以达到效果,但是sessionStorage通常储存的是全局性常用的变量。一起来看router.push的使用方法:1.不传参数的跳转:this.$router.push('./lastPage')//跳转至当前目录的lastPag...

2019-02-26 20:36:52 6110 2

原创 vue中watch使用注意事项

watch功能是监听数据变化时触发某样事件的,数据可以是一个基本类型的数据,一个对象甚至是表单。 watch: { dataA: function (new, old) {//new是改变后的数据,old是原数据 console.log(new) }, // 方法名 dataB: 'someMethod', // 深度 watcher ...

2019-02-26 20:12:17 1990

原创 浅析JS的深拷贝与浅拷贝

前言:前段时间在做前端项目时,吃了深拷贝与浅拷贝的亏,今天就来整理一下这两者的区别。一、深拷贝VS浅拷贝讲到深拷贝与浅拷贝,我们先要弄清楚什么是深拷贝,什么是浅拷贝?深拷贝:不仅拷贝对象的引用,同时也拷贝对象的实体,也就是它的地址。它将对象的所有层次都拷贝了。这样进行深拷贝后两个对象相互独立,其中一个对象的改变不会影响到另一个对象。浅拷贝:仅仅拷贝对象的引用,但是不拷贝对象的地址。它只拷...

2019-02-22 16:43:03 234 1

工作汇报年终总结PPT模板.rar

若干个比较好的工作汇报年终总结PPT模板,有商务汇报模板、年终总结模板、中国风样式等等。。。。。。。。。。。。。

2019-12-10

vue-openlayer-master.zip

基于vue框架下,使用openlayers插件在海图上(海图服务器用的openlayers官网的)进行两点间移动动画以及基础图形绘制,比如圆、贴图、自定义连线等

2019-12-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除