摘要: Snappy是谷歌开源的一个用来压缩和解压的开发包。相较其他压缩算法速率有明显的优势,官方文档显示在64位 i7处理器上,每秒可达200~500MB的压缩速度,不禁感叹大厂的算法就是厉害。 开源项目地址:http... 阅读全文
posted @ 2019-07-12 16:39 蜗牛201 阅读(1649) 评论(0) 推荐(0) 编辑
摘要: ibevent实现Tcp Client基于bufferevent实现#include #include #include #include #include #include #include #include... 阅读全文
posted @ 2019-07-10 17:11 蜗牛201 阅读(2805) 评论(0) 推荐(0) 编辑
摘要: 读管道:#include #include #include #include #include #include #include #include //对操作的处理函数void read_cb(evutil_... 阅读全文
posted @ 2019-07-10 17:08 蜗牛201 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 二叉树是每个结点最多有两个子树的树结构。使用广泛,使用C来实现对二叉树的操作。示例:代码实现构造如下二叉树#include using namespace std;typedef struct BinaryTr... 阅读全文
posted @ 2019-07-10 17:03 蜗牛201 阅读(786) 评论(0) 推荐(0) 编辑
摘要: C++中多态是面向对象设计思想的重要特性,同名具有不同功能函数,该函数调用过程执行不同的功能。多态的原理是通过一张虚函数表(Virtual Table)实现的。动多态会牺牲一些空间和效率来最终实现动态绑定。 ​ 静多态 函数重载为静多态,绑定发生在编译期间,根据函数的参数来确定调用哪个函数。 #in 阅读全文
posted @ 2019-06-30 14:21 蜗牛201 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 赋值兼容的规则时在需要使用基类对象的任何地方都可以使用公有派生类对象来替代。公有继承派生类可获得基类中除构造函数,析构函数外的所有成员,能用基类解决的问题,派生类也能解决。更直白点说,如果一个类是从一个基类公有继... 阅读全文
posted @ 2019-06-25 16:41 蜗牛201 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 搭建自己博客分为两类,一种是托管到github上的,以hexo为代表,另一种是需要自己购买服务器,主要使用wordpress框架。有不花钱的效果也很不错,就没必要自己再购买服务器了,下边主要介绍下使用hexo搭建... 阅读全文
posted @ 2019-06-23 18:28 蜗牛201 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 由于多重继承产生的二义性引入了类的虚继承,先看下什么是二义性。类D是类B和类C的派生类,而类B,类C就是继承于类A,当D调用类A中的函数时不知道是类B继承A的,还是类C继承A的,引起了二义性。虚继承可以解决这个问... 阅读全文
posted @ 2019-06-23 14:43 蜗牛201 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 继承面向对象的设计思想,类对数据做了封装,并可以加入访问权限,类的继承是面向对象思想的精髓。类的继承可以让新类从以有的类中获得已有的特征。原有类称为基类或父类,新类称为派生类或子类。语法:class 子类类名:... 阅读全文
posted @ 2019-06-23 13:33 蜗牛201 阅读(101) 评论(0) 推荐(0) 编辑
摘要: C++封装的类增加了对类中数据成员的访问限制,从而保证了安全性。如想访问类中的私有成员需要通过类中提供的公共接口来访问,这样间接的访问方式,无疑使得程序的运行效率有所降低。友元的提出可以使得类外的函数来访问类中的... 阅读全文
posted @ 2019-06-22 18:55 蜗牛201 阅读(93) 评论(0) 推荐(0) 编辑
摘要: C++中const关键字无处不在,我这里做下汇总,作为工具文章方便翻阅。 一:修饰数据成员修饰的成员一单定义初始化后不能再进行修改,如:const int a = 10;a =20; //重新赋值直接会报错当修饰... 阅读全文
posted @ 2019-06-21 15:42 蜗牛201 阅读(102) 评论(0) 推荐(0) 编辑
摘要: C++有了string类使得操作字符串变得很方便。有关string类,面试过程中也经常问到的就是自己实现一个sring类。下边实现个String类供大家参考:String.h#pragma onceclass S... 阅读全文
posted @ 2019-06-18 15:34 蜗牛201 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 一:拷贝构造函数拷贝构造函数是一种特殊的构造函数,遵循如下的规则:1.函数名和类名一致,没有返回值。2.必须有一个参数,参数是本类型的一个引用变量。3.拷贝构造函数可以访问参数对象的任意成员(private也可以... 阅读全文
posted @ 2019-06-18 11:21 蜗牛201 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 概述函数的使用使得相同代码不必多次重写,但会带来额外的开销,函数调用的过程中会有入栈和出栈,这些都会消耗时间。 如果一个函数在程序运行过程中被成千上万次调用,那么这个开销也是不容忽视的,C++中引入了内联函数,直... 阅读全文
posted @ 2019-06-15 15:14 蜗牛201 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 概述函数重载指在相同作用域中多个函数名相同,函数的形参不同。 遵循规则:1.函数名相同2.函数的参数,类型,个数或顺序不一样都可以构成重载。3.函数返回值得类型不同不构成重载,编译直接报错,存在二义性(ambii... 阅读全文
posted @ 2019-06-15 14:26 蜗牛201 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 【数据结构与算法】 一:通俗易懂说链表二:单向链表实现与封装(有头)三:两分钟初识树四:二叉树的创建,插入,遍历,删除,删除节点实现 【开源组件】一:两分钟搞懂开源许可协议二:FastDFS极速入门与安装三:F... 阅读全文
posted @ 2019-06-15 14:21 蜗牛201 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 概述C语言中使用函数scanf和printf作为标准输入和输出,在C++中引入了类cin和cout进行标准输入和输出,所需头文件为,命名空间是std。这里所说的标准输入和输出是相对程序而言,输入是通过IO设备,如... 阅读全文
posted @ 2019-06-14 15:27 蜗牛201 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 5月... 阅读全文
posted @ 2019-05-28 08:35 蜗牛201 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 认识字节对齐之前,假定int(4Byte),char(1Byte),short(2Byte) 认识字节对齐 先看段代码: sizeof(Data1)和sizeof(Data2)分别表示Data1和Data2内存占用字节数,输出结果不一样是因为编译时对Data1和Data2做了不同的字节对齐。Data 阅读全文
posted @ 2019-05-27 17:10 蜗牛201 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 认识字节对齐之前,假定int(4Byte),char(1Byte),short(2Byte)认识字节对齐先看段代码:struct Data1{char a;int b;short c;};struct Data2... 阅读全文
posted @ 2019-05-27 17:06 蜗牛201 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 作者... 阅读全文
posted @ 2019-05-21 11:41 蜗牛201 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 概述 最近有同学私信我,问如何使用vs2017+qt5.10编译出32位的应用,需要使用msvc2017_x86的插件,然而qt官网并没有提供,只能使用源码编译生成msvc2017_x86插件,使用nmake进行编译,经尝试是个漫长的过程我的机子性能不错,差不多用了4h,很多小伙伴估计也没这耐心,即 阅读全文
posted @ 2019-05-14 14:53 蜗牛201 阅读(3612) 评论(1) 推荐(0) 编辑
摘要: 概述最近有同学私信我,问如何使用vs2017+qt5.10编译出32位的应用,需要使用msvc2017_x86的插件,然而qt官网并没有提供,只能使用源码编译生成msvc2017_x86插件,使用nmake进行编... 阅读全文
posted @ 2019-05-14 14:52 蜗牛201 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 概述菜单栏,工具栏,状态栏应用中经常见到,下图解释一目了然,实际开发中 两种方式来实现,一种是使用纯代码QMenuBar,QToolBar,QStatusBar来设计开发,另一种使用Qt Designer通过拖... 阅读全文
posted @ 2019-05-09 15:29 蜗牛201 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 概述 菜单栏,工具栏,状态栏应用中经常见到,下图解释一目了然,实际开发中 两种方式来实现,一种是使用纯代码QMenuBar,QToolBar,QStatusBar来设计开发,另一种使用Qt Designer通过拖拽的形式来实现,减少了大量的代码,使用简单。 菜单栏 1.新建项目UI基类选择QMain 阅读全文
posted @ 2019-05-09 15:29 蜗牛201 阅读(9168) 评论(0) 推荐(1) 编辑
摘要: 原创... 阅读全文
posted @ 2019-05-08 13:29 蜗牛201 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 早些时候Oracle内部员工透漏,Oracle中国研发中心(CDC)或彻底关闭,涉及约1600名工程师的命运。今天甲骨文正式公布裁员,整个中国研发中心关闭,补偿是全员n+6,包括北京,苏州,南京,上海,深圳等地的... 阅读全文
posted @ 2019-05-07 16:30 蜗牛201 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 概述AlarmClock是个开源的闹钟软件,使用QT5.9+vs2017开发。可同时设置两组闹铃,设置完可最小化到托盘,闹铃时会在屏幕右下角弹出提示框,同时还可以当成一个整点语音报时器使用。 功能列表1.可同时设... 阅读全文
posted @ 2019-04-30 18:13 蜗牛201 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 最近... 阅读全文
posted @ 2019-04-26 09:05 蜗牛201 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 金三银四,又到找工作的高峰期,有别往年,今年很多人是被迫离职的,京东高管淘汰10%,滴滴裁员2000人.....,一个个裁员新闻铺垫盖地。刚刚过去的冬天实在太冷了,大公司也是被迫无奈,互联网圈确实不好混了,资金紧... 阅读全文
posted @ 2019-04-25 14:05 蜗牛201 阅读(129) 评论(0) 推荐(0) 编辑
摘要: FastDFS是一个轻量级的分布式文件系统,在实际生产环境往往以集群的形式部署,保证了服务的高可用。本文重点阐述FastDFS集群的搭建和项目实战。 工作流程 上传流程图 下载流程图 基本概念可参考作者上篇文章:FastDFS极速入门 底层原理 FastDFS不会对文件进行分块存储,直接保存到Sto 阅读全文
posted @ 2019-04-23 13:59 蜗牛201 阅读(614) 评论(0) 推荐(0) 编辑
摘要: FastDFS是一个开源的轻量级的分布式文件系统,为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务,如果自己搭建文件系统FastDFS是首选! 架构图 FastDFS 系统有三部 阅读全文
posted @ 2019-04-23 13:56 蜗牛201 阅读(346) 评论(0) 推荐(0) 编辑
摘要: QTime类为用户提供一系列时间的函数,封装的很全面,几乎满足了各种时间的需求。 常用方法介绍 1.QTime addMSecs(int ms) const 当前时间增加毫秒,ms可为负 2.QTime addSecs(int s) const 当前时间增加秒,s可为负 3.int elapsed( 阅读全文
posted @ 2019-04-23 13:42 蜗牛201 阅读(5977) 评论(0) 推荐(0) 编辑
摘要: QDate为开发者提供日期的类,函数也很丰富 常用方法介绍 1.QDate addDays(qint64 ndays) const 当前日期添加n天,n可以为负 2.QDate addMonths(int nmonths) const 当前日期添加n月,n可以为负 3.QDate addYears( 阅读全文
posted @ 2019-04-23 13:39 蜗牛201 阅读(2680) 评论(0) 推荐(0) 编辑
摘要: 概述 转眼七年过去了,我是一个彻底拥抱过MFC的人,记得老大的一个需求要把按钮做成圆角,并添加背景颜色,做前端html的可能认为很简单,然而放到MFC上那可真的是很...很麻烦的,自定义类继承Button ,新手估计还搞不定,怎么也有上百行代码,实在不友好,Qt诞生大大简化了这些工作,只需要使用QS 阅读全文
posted @ 2019-04-23 13:29 蜗牛201 阅读(11010) 评论(0) 推荐(1) 编辑
摘要: Docker逐渐成为虚拟化技术的佼佼者,Docker技术也是架构师的必备技能。 什么是Docker Docker 是一个开源的应用容器引擎,基于Go语言,诞生于2013年初,最初发起者是dotCloud公司,开发者可以打包应用到一个轻量级、可移植的容器中,然后发布到主流Linux系统上运行。 为什么 阅读全文
posted @ 2019-04-15 15:47 蜗牛201 阅读(477) 评论(1) 推荐(0) 编辑
摘要: 最近京东又上了热搜,被爆将进行新一轮裁员,裁员比例8%,按京东15万+的员工计算,约1.2万人将丢了饭碗,说好的不会裁掉任何一个兄弟,兄弟们是当真了,东哥确脸盲认不清哪个是兄弟了。 自东哥去年美国事件后,京东市值跌了几百亿,几乎和拼多多到同一水平线,18年四季财报显示,营收同比增长22%,但净亏损从 阅读全文
posted @ 2019-04-12 15:15 蜗牛201 阅读(330) 评论(0) 推荐(0) 编辑
摘要: QSpinBox和QDoubleSpinBox 是UI设计常用的控件。 QSpinBox可用于显示和输入整数,并可以在显示框中添加前缀或后缀。 QDoubleSpinBox可用于显示和输入小数,并可以在显示框中添加前缀和后缀。 QSpinBox和QDoubleSpinBox都是QAbstractSp 阅读全文
posted @ 2019-04-10 18:05 蜗牛201 阅读(1249) 评论(0) 推荐(0) 编辑
摘要: QLineEdit是单行文本编辑控件。比如用户名,密码等输入框可以使用该控件。 所属头文件<QLineEdit> 常用方法 1.void setText(const QString &) 设置编辑框文本内容 2.void setReadOnly(bool) 控件设置为只读模式 3.void setP 阅读全文
posted @ 2019-04-10 15:43 蜗牛201 阅读(2151) 评论(0) 推荐(0) 编辑
摘要: 项目中需要用到smtp协议来发送邮件告警,后端的技术栈主要是Java和C++,Java项目里直接在网上找的现成的类完美实现,163邮箱,腾讯邮箱和阿里邮箱均测试通过,不幸的是C++的项目也需要使用smtp协议来发送邮件,惯例先度娘,CSDN逛了一圈,例程也不少但是每个下边留言都有这样和那样的问题,c 阅读全文
posted @ 2019-04-09 16:37 蜗牛201 阅读(806) 评论(2) 推荐(2) 编辑