Souleigh ✨ Souleigh ✨
3年前
Javascript 常用代码优化和重构的方法
简介主要介绍以下几点:1.提炼函数2.合并重复的条件片段3.把条件分支语句提炼成函数4.合理使用循环5.提前让函数退出代替嵌套条件分支6.传递对象参数代替过长的参数列表7.少用三目运算符8.合理使用链式调用9.分解大型类10.活用位操作符11.纯函数本文会不断更新,不足之处欢迎
Souleigh ✨ Souleigh ✨
3年前
React Hooks 快速上手
ReactHook快速上手一、Hook简介1.1Hook历史在ReactHook出现之前的版本中,组件主要分为两种:函数式组件和类组件。其中,函数式组件通常只考虑负责UI的渲染,没有自身的状态也没有业务逻辑代码,是一个纯函数。而类组件则不同,类组件有自己的内部
菜园前端 菜园前端
1年前
什么是函数式编程?
原文链接:什么是函数式编程?函数式编程(FunctionalProgramming,FP)就是利用纯函数实现细粒度的函数,然后再通过函数的组合把细粒度的函数组合成功能更强大的函数。函数式编程中的"函数"不是程序中的函数(方法),而是数学中的函数(映射关系)
Wesley13 Wesley13
3年前
C++基类的析构函数定义为虚函数的原因
1:每个析构函数只会清理自己的成员(成员函数前没有virtual)。2:可能是基类的指针指向派生类的对象,当析构一个指向派生类的成员的基类指针,这时程序不知道这么办,可能会造成内存的泄露,因此此时基类的析构函数要定义为虚函数;基类指针可以指向派生类的对象(多态),如果删除该指针delete\\p,就会调用该指针指向的派生类的析构函数,而派生类
Wesley13 Wesley13
3年前
C++GOW系列之(5):重载虚函数
_原文请链接http://www.gotw.ca/gotw/005.htm_虚函数是非常基础的特性,如果你能回答上以下问题,你就能完全了解他们。问题:假设你正在浏览公司代码库的边角地带,你碰到了一段如下的代码。编写这段代码的人看上去像在实验C的这些特性是如何工作的。程序员想要打印的结果是什么?实际结果是什么呢?i
Stella981 Stella981
3年前
Qt笔记——绘图(QBitmap,QPixmap,QImage,QPicture)
QPainter绘图重写绘图事件,虚函数如果窗口绘图,必须放在绘图事件里实现绘图事件内部自动调用,窗口需要重绘的时候,状态改变绘图设备(QPixmap,QImage,QBitmap,QPicture)QPixmap图片背景透明,针对屏幕进行优化了,和平台相关,不能对图片进行修
Wesley13 Wesley13
3年前
C++多态性与虚函数
  派生一个类的原因并非总是为了继承或是添加新的成员,有时是为了重新定义基类的成员,使得基类成员“获得新生”。面向对象的程序设计真正的力量不仅仅是继承,而且还在于允许派生类对象像基类对象一样处理,其核心机制就是多态和动态联编。(一)多态性  多态是指同样的消息被不同的对象接收时导致不同的行为。所谓消息是指对类成员函数的调用,不同的行为是指的不同的实现
Wesley13 Wesley13
3年前
C++接口定义及实现举例
一、接口的定义   有时候,我们得提供一些接口给别人使用。接口的作用,就是提供一个与其他系统交互的方法。其他系统无需了解你内部细节,并且也无法了解内部细节,只能通过你提供给外部的接口来与你进行通信。根据c的特点,我们可以采用纯虚函数的方式来实现。这样做的好处是能够实现封装和多态。现举一实例,供大家参考。(不想做过多说明,大家一看就应该能够明白)
Wesley13 Wesley13
3年前
C++类的存储及虚函数实现原理
一、C成员函数在内存中的存储方式  用类去定义对象时,系统会为每一个对象分配存储空间。如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间。按理说,如果用同一个类定义了10个对象,那么就需要分别为10个对象的数据和函数代码分配存储单元,如下图所示。!(https://oscimg.oschina.net/oscnet/2
菜园前端 菜园前端
1年前
前端同学都了解什么是副作用么?
原文链接:什么是副作用?副作用会让一个函数变的不纯,纯函数是根据相同的输入返回相同的输出,如果函数依赖于外部的状态就无法保证输出相同,就会带来副作用。副作用来源函数依赖外部状态(变量),但是副作用不可能完全禁止,尽可能控制在它们可控范围内发生。缺点副作用使