- 博客(19)
- 资源 (46)
- 收藏
- 关注
原创 吴军《态度》读书笔记
前言这本书可以看到一个非常有爱的父亲,用一种独特的方式–家书,给两个孩子传达很多人生观和价值观,针对年轻人在成长过程中都要遇到的有效学习、处理人际关系、理解并赚取财富等具体问题,以及如何洞察世界、人生等哲学问题,给出诚恳的建议。每一次关键的抉择,父亲都会用心的指导,让女儿能够走好自己的路,孩子很幸运,能在这样的家庭中成长。学校的教育固然重要,但是更重要的还有家庭教育,父母永远是孩子最好的老师,...
2019-03-30 09:26:53 2828
原创 Qt C++ 检测优盘插入或拔出
概述在开发文件浏览相关应用时,会涉及到动态检测优盘插入或拔出的状态,这样可以实时的刷新界面显示。这里通过调用windows的接口来实现该检测,代码很简单。我是在Qt工程中使用的,其核心代码是一样的。正文在Qt工程中,需要先在QWidget中(通常是在最顶层窗口)重写虚函数nativeEvent,然后调用windows接口。ok,直接来看代码:#include <windows.h&...
2019-03-29 07:50:09 3007 2
原创 C++设计模式--工厂方法模式
概述上一篇介绍了简单工厂模式,该模式集中了所有产品的创建逻辑,缺点就是违反了高内聚责任分配原则,而工厂方法模式正是为了解决这这样的问题,可以说,工厂方法模式是对简单工厂模式的进一步抽象和推广,而此模式的核心思想是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用以及方便后期维护拓展的目的。UML 类图 IShape : 产品抽象基类,提供所有通用接口Re...
2019-03-19 08:27:32 299
原创 C++设计模式--简单工厂模式
概述工厂模式:封装对象的实现。它可能是所有设计模式中最有用的模式之一了。这里要说的是简单工厂模式,又称为静态方法工厂模式,属于创建性模式。其原理就是通过传入的参数来判断应该创建什么对象。UML 类图Factory :工厂类的核心,创建各种不同产品对象IShape: 产品抽象基类,提供所有通用接口Rectangle、Circle : 具体的产品实现适用场景工厂类负责创建的对象比...
2019-03-18 08:03:09 358
原创 快速了解 UML 类图
前言UML 类图,用于表示项目框架中类的说明,以及类与类之间的关联,在项目设计中,通过 UML 可以快速了解整个项目的框架结构。UML 类图在 UML 类图中,类使用包含类名、属性和方法并且带有分割线的矩形来表示,比如:其中,最上面一栏表示类的名称,中间一栏表示类的属性,下面一栏表示类的方法。那么,接下来分别介绍这些写法的含义。类的属性先来看一个类图:详细说明:上述是表示一个 P...
2019-03-17 17:21:45 417
原创 C++之虚析构函数
定义顾名思义,虚析构函数就是给析构函数声明为 virtual。作用虚析构函数可以正常的销毁多态模式下的派生类对象,防止造成一个诡异的“局部销毁”对象,从而防止形成内存泄漏。使用场景带有多态性质的基类应该声明一个 virtual 析构函数。如果 class 带有任何 virtual 函数,它就应该拥有一个 virtual 析构函数。类的设计目的如果不是作为基类使用,或不是为了具备多态性...
2019-03-17 14:37:08 945
原创 C++设计模式--适配器模式
定义适配器(Adapter)又叫包装器(Wrapper),是一种类对象结构性模式,目的是将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。分类适配器有两种实现方式,分别是类适配器和对象适配器。这两种实现方式不太一样。类适配器:通过多继承的方式来实现对象适配器:通过对象组合的方式来实现类适配器 对象适配器 ...
2019-03-16 23:50:49 269
原创 C++之dynamic_cast、static_cast、const_cast、reinterpret_cast的用法和区别
简述C++中有四个类型转换符,旨在严格限制允许的类型转换,使转换更规范。这四个转换符分别是:dynamic_caststatic_castconst_castreinterpret_cast可以根据目的选择一个适合的运算符,而不是使用通用的类型转换。让编译器能够检查程序的行为是否与设计者想法吻合。接下来看看每个类型转换符的用法以及它们之间的区别。dynamic_cast...
2019-03-16 12:42:05 442
原创 C++之 RTTI
RTTI(Runtime Type Indentification) 即运行阶段类型识别。这是 C++新引进的特性之一。RTTI旨在为程序在运行阶段确定对象的类型提供一种标准方式。
2019-03-12 20:56:17 1919 1
原创 《墨菲定律》读书笔记(下)
自重感效应:让人觉得自己重要,这很重要定义:每个人都渴望被认同和尊重。这是所有人的共同需求,这种需求就是“自重感”。说明:在人们的社交行为中,“满足他人的自重感”是一项重要原则。每个人骨子里都是渴望别人尊重自己的想法和意愿,当我们认同了这一渴望,便能获得别人的喜爱和认同,所得到的回报也将远远大于“满足他人的自重感”的过程中所付出的一切。相悦法则:我喜欢你因为你喜欢我定义:人们总是更喜欢那些...
2019-03-10 17:53:11 10564
原创 Github 搜索技巧,快速找到好资源
前言不得不说 GitHub 简直就是程序猿的福地,聚集了众多大神在上面分享,在这里可以发现无限的优良资源,不管是初学者还是正在进阶中的青铜王者,都可以在上面找到适合自己的好东西,用好 GitHub 可以让能力提升不止一点点。那么,如何在这么庞大的资源平台下找到自己想要的内容呢?我搜集了一些实用的技巧,可以快速的定位到你想看到的内容,用好这些技巧,你就可以在这上面如鱼得水了。正文搜索 Git...
2019-03-10 09:42:11 60323
原创 C++ warning:’xxx‘ has no out-of-line virtual method definitions...
前言最近在复习一些 C++基础知识,写了一些 C++的代码,当我在类中定义了虚函数并且直接在类定义内部实现这些虚函数时,编译器就会报警告:’xxx‘ has no out-of-line virtual method definitions;its vtable will be emitted in every translation unit.如下图:如何解决以前好像从来没留意过这些问...
2019-03-09 19:03:35 7224 3
原创 C++设计模式--模板方法模式
模板方法模式(Template Method)是定义一个操作中的算法框架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法框架的结构即可重定义该算法的某些特定步骤。
2019-03-08 07:58:21 276
原创 《墨菲定律》读书笔记(上)
镜中我效应:“镜中我”与“真的我”定义:一个人的自我观念是在与其他人的交往中形成的,一个人对自己的认识是其他人对于自己看法的反应,他所具有的这种自我感觉,是由别人的思想、别人对于自己的态度所决定的。说明:我们是什么样的人,很多时候是由社会反馈决定的,别人认为我们是什么样的人,就可能成为什么样的人。自我服务偏见:我很优秀,而你只是运气好定义:当我们加工和自我有关的信息时,会出现一种潜在的偏见...
2019-03-07 23:13:53 7035
原创 C++设计模式--命令模式(Command)
概述命令模式的结构很简单,但是对于消除代码间的耦合却有着重要的影响。命令模式就是一个函数对象:一个作为对象的函数。通过将函数封装为对象,就能够以参数的额形式将其传递给其他函数或者对象,告诉它们在旅行请求的过程中执行特定的操作。命令模式根据以上定义,来看一个简单的示例:/** * 命令模式,消除代码间的耦合 */#include &amp;lt;iostream&amp;gt;#include ...
2019-03-05 07:44:56 2843
原创 C++设计模式--状态模式(state)
概述前面文章介绍了代理模式(在这里),代理模式和状态模式都提供一个代理类,从结构上看,可以认为代理模式只是状态模式的一个特例,不同之处在于,代理模式控制对其实现类的访问,而状态模式动态地改变其实现类,当发现大多数或者所有函数都存在条件代码时,这种模式很有用。状态模式简单来说,状态模式通过一个前端对象来使用后端实现对象履行其职责,在前端对象生存期期间,状态模式从一个实现对象到另一个实现对象进行...
2019-03-02 09:48:10 1203
原创 C++设计模式--单例模式(Singleton)及单例通用模板
概述C++中的单例模式应该是最简单的了,并且非常常见,在编码中经常会用到。那么,简单的总结下 C++中的单例模式写法,以及根据单例模式扩展后的一些写法,最后还有单例的通用模板,可用于快捷创建一个单例类。单例类创建一个单例模式的关键是防止他人获得任何控制其对象生存期的权利,也就是说不要让别人可以随便创建类对象,单例类在整个程序生存周期中至始至终就只有一个对象,为了做到这一点,必须要先把构造函数...
2019-03-02 08:53:29 1989
原创 C++设计模式--代理模式(Proxy)
前言C++相对其他编程语言来说算是比较难的了,相关知识点非常多,并且有些概念理解起来比较困难,对于初学者来说可能会感觉到非常痛苦。随着项目难度的升级,需要不断地优化框架从而使整个结构更具有扩展性,那么就要具备更多更深的 C++知识点才能搞定了,而设计模式是当今已经成为面向对象程序设计的几乎所有必须掌握的知识点,可以将设计模式看做解决某一类特定问题的特别巧妙和具有洞察力的方法。所以这段时间重温 C...
2019-03-01 08:04:02 442
原创 C++之 ostream详细用法
概述在 C++中,ostream表示输出流,英文”output stream“的简称。在 C++中常见的输出流对象就是标准输出流cout,很少自定义ostream的对象,更多的是直接使用cout。那么 ostream 有什么用呢,来看一个场景:class CPoint{public: CPoint(int x_,int y_):x(x_),y(y_){} int x,y;...
2019-03-01 07:24:15 68351 17
QML实现文件十六进制显示Demo
2023-09-08
Qt QGraphics导入背景图并绘制图形,画布移动、缩放、图形旋转等
2023-06-30
QML模块及qmldir使用演示demo
2023-04-16
qml 类似移动端时间设置控件
2023-01-07
qtmqtt Qt6.2.4+VS2019 x64编译动态库及简单示例(附带Qt在线安装包+perl安装包)
2022-12-16
QML + KDDockWidget 实现 tabwidget 窗口可独立浮动和缩放
2022-12-05
Qt+opencv 鼠标绘制进行图形识别并进行item对象创建-Demo
2022-12-03
QML ListView实现TabBar标签拖拽移动位置效果
2022-11-25
QML 实现注册码输入控件,自动填入分隔符,粘贴内容格式化
2022-11-06
Qt实现桌面画线、标记,流畅绘制,支持鼠标和多点触控绘制
2022-10-26
Qt实现简易截图工具(支持缩放、移动、保存、复制到粘贴板)
2022-10-18
KDDockWidgets VS2019编译的动态库以及源码
2022-07-10
QFtp实现批量文件上传
2022-06-22
QML TableView Demo演示示例
2022-06-09
QtService 实现Qt后台服务程序
2022-06-07
Qt 反射机制实现,通过类名创建对象
2022-06-02
C++、C语言基础知识点强化,以及相关经典面试题、数据结构和算法知识及相关面试题汇总。
2022-05-24
Qt 实现钢笔画线效果,根据画线速度改变笔宽
2022-05-07
Qt 鼠标/触屏绘制平滑曲线(矢量/非矢量)
2022-05-06
Qt鼠标拖动绘制基本几何图形(直线、矩形、圆形、椭圆)
2022-05-06
KDDockWidgetTest.rar
2021-06-10
Qt Mqtt连接阿里云示例
2020-03-16
Qt MQTT简单示例Demo
2020-03-06
Qt 使用插件(Plugins)扩展应用程序简单示例Demo
2019-09-01
NSIS FindProc.dll+KillProcDLL.dll
2019-07-26
Qt Remote Object(QtRO)动态Replica实现进程间通信Demo
2019-06-15
Qt Remote Object(QtRO)进程间通信Demo
2019-06-12
Qt C++ 动态检测优盘插入或拔出
2019-03-28
C++工厂方法模式框架
2019-03-19
Qt C++发送图片到QML显示
2019-02-25
QML 中使用 C++定义的枚举类型
2019-01-06
QML ListView实现树形二级列表(类似 android ExpandableListView控件)
2018-08-11
Qt for Android 启动页 splash 延时显示
2018-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人