10 2017 档案

摘要:1、单例定义及要素 定义: 保证一个类只有一个实例存在,同时提供能对该实例加以访问的全局访问方法(GoF中单例模式的定义)。 要素: (1)某个类只能有一个实例 (2)必须自行创建这个实例 (3)必须自行向整个系统提供这个实例 2、模式中的角色和职责 Singleton(单例):在单例类的内部实现只 阅读全文
posted @ 2017-10-31 17:55 落雷 阅读(253) 评论(0) 推荐(0) 编辑
摘要:一、Linux系统安装 系统安装可以分两类:实体机安装Linux,虚拟机(常用虚拟机软件有两种:VMware和VirtualBox)安装Linux。 安装过程网上有很多教程,这里就不赘述了。 二、常用命令 1、文件和目录 ls 列出目录内容 -l 列出文件详细信息l(list) -a 列出当前目录下 阅读全文
posted @ 2017-10-31 17:16 落雷 阅读(150) 评论(0) 推荐(0) 编辑
摘要:之前面试过程中碰到一道笔试题,要求将阿拉伯数字的金额转换成中文大写数字,类似发票上的写法。当时只是简单的将小数点之前的数字转换为汉字,并没有实现小数点之后的数字以及当数字中间出现多个0的情况。 现将完善后的代码记录下来,不足之处还望各位不吝赐教。 1 #include <iostream> 2 #i 阅读全文
posted @ 2017-10-31 16:03 落雷 阅读(535) 评论(0) 推荐(0) 编辑
摘要:1、TCP粘包问题的产生(发送端) 由于TCP协议是基于字节流并且无边界的传输协议,因此很容易产生粘包问题。TCP的粘包可能发生在发送端,也可能发生在接收端。发送端的粘包是TCP协议本身引起的,TCP为了提高传输效率,发送方经常要收集到足够多的数据后才发送一个TCP段;若连续多次需要send()的数 阅读全文
posted @ 2017-10-29 20:34 落雷 阅读(248) 评论(0) 推荐(0) 编辑
摘要:QObject是Qt对象模型的中心。这个模型的核心特征就是一种用于无缝对象间通信的被叫做信号和槽的非常强大的机制,可以使用connect()把信号和槽连接起来,也可以通过disconnect()来破坏这种连接。为了避免永无止境的通知循环,可以使用blockSignal()函数来暂时阻塞信号。保护函数 阅读全文
posted @ 2017-10-29 19:53 落雷 阅读(276) 评论(0) 推荐(0) 编辑
摘要:1、什么世QT Qt是一个跨平台的C++图形用户界面应用程序框架,为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,容易扩展,并且允许真正的组建编程。 2、支持平台 Windows、Unix/Linux、Mac OS X 3、版本 Qt安装不同的发行版本可以分为商业版和开源版 阅读全文
posted @ 2017-10-29 17:44 落雷 阅读(181) 评论(0) 推荐(0) 编辑
摘要:1、工厂方法模式中的角色和职责 抽象工厂角色:工厂方法模式的核心,任何工厂类都必须实现这个接口。 工厂角色:具体工厂类是抽象工厂的一个实现,负责实例化产品对象。 抽象产品角色:工厂方法模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。 具体产品角色:工厂方法模式所创建的具体实例对象。 阅读全文
posted @ 2017-10-22 22:21 落雷 阅读(178) 评论(0) 推荐(0) 编辑
摘要:指定面向对象设计原则的目的:高内聚,低耦合 阅读全文
posted @ 2017-10-22 21:48 落雷 阅读(184) 评论(0) 推荐(0) 编辑
摘要:1、简单工厂模式中的角色和职责: 工厂角色:简单工厂模式的核心,负责实现创建所有的实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象 抽象产品角色:简单工厂模式所创建的所有对象的父类,负责描述所有实例所共有的公共接口 具体产品角色:简单工厂模式所创建的具体实例对象 2、简单工厂模式的优缺点 阅读全文
posted @ 2017-10-22 21:34 落雷 阅读(189) 评论(0) 推荐(0) 编辑
摘要:软件设计模式是由GoF(Gang of Four)将模式的概念引入软件工程领域后诞生的。软件模式与具体的应用领域无关。 GoF提出的设计模式有23个,大体可分为三类: (1)创建型模式:如何创建对象 (2)结构型模式:如何实现类或对象的组合 (3)行为型模式:累活对象怎样交互以及怎样分配职责 除了G 阅读全文
posted @ 2017-10-22 15:59 落雷 阅读(138) 评论(0) 推荐(0) 编辑
摘要:1、FIFO FIFO,又称命名管道。不同于pipe管道的只能用于拥有共同祖先进程的两个进程间通信,因FIFO通过路径绑定,所以即使是不相关的进程间也可通过FIFO进行数据交换。 FIFO是一种文件类型。通过stat结构的st_mode成员的编码可以确定文件是否是FIFO类型,可通过S_ISFIFO 阅读全文
posted @ 2017-10-18 20:26 落雷 阅读(480) 评论(0) 推荐(0) 编辑
摘要:管道是UNIX系统IPC的最古老形式,所有UNIX系统都提供此种通信机制。管道有以下两种局限性: (1)历史上,管道是半双工的(即数据只能在一个方向上流动)。 (2)管道只能在具有公共先祖的两个进程之间使用。通常,一个管道有一个进程创建,在进程调用fork之后,这个管道就能在父子进程间使用。 管道的 阅读全文
posted @ 2017-10-18 17:47 落雷 阅读(230) 评论(0) 推荐(0) 编辑
摘要:最近刚开始啃Unix网络编程(卷1:套接字联网API),为加深TCP连接的建立和终止的理解与记忆,记下本文,方便以后翻看。 同时留下的还有简单的Socket(TCP)类: mySocket.h 1 #pragma once 2 3 #include <unistd.h> 4 #include <sy 阅读全文
posted @ 2017-10-17 22:48 落雷 阅读(290) 评论(0) 推荐(0) 编辑
摘要:之前在VMware中安装Mac虚拟机时,硬盘选的是默认的40G,后来用的过程中随着软件的安装,特别是安装完Xcode和QT5.9之后,可用空间只剩不到3G,每次开机之后都会提醒空间不足,需要清理空间,特别烦人,就琢磨着给虚拟机扩个容。 VMware版本为12.6。 扩容过程很简单,分两步: 1、虚拟 阅读全文
posted @ 2017-10-16 21:42 落雷 阅读(4831) 评论(0) 推荐(1) 编辑
摘要:多线程计数,每个线程累加10个数。 实现: 阅读全文
posted @ 2017-10-15 19:35 落雷 阅读(245) 评论(0) 推荐(0) 编辑
摘要:应用层协议:Telnet、FTP、e-mail等 传输层协议:TCP、UDP、STCP等 网络层协议:IP、ICMP、IGMP等 链路层协议:设备驱动及接口卡 阅读全文
posted @ 2017-10-13 12:00 落雷 阅读(149) 评论(0) 推荐(0) 编辑
摘要:二叉树是一种特殊的树结构:每个节点最多有两个子节点。 二叉树的性质: (1)二叉树第i层的节点数目最多为 2{i-1} (i≥1)。 (2)深度为k的二叉树至多有2{k}-1个结点(k≥1)。 (3)包含n个结点的二叉树的高度至少为log2 (n+1)。 (4)在任意一棵二叉树中,若终端结点的个数为 阅读全文
posted @ 2017-10-13 11:37 落雷 阅读(167) 评论(0) 推荐(0) 编辑
摘要:STL:是Standard Template Library的简称,中文译为标准模板库,是由惠普实验室开发的一系列软件的统称,现为C++的一部分,可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms 阅读全文
posted @ 2017-10-11 17:55 落雷 阅读(248) 评论(0) 推荐(0) 编辑
摘要:1、概念的区别 进程:是具有独立功能的程序在一个数据集合上运行的过程,是系统进行资源分配的基本单位,也是调度运行的基本单位。一个进程中可以包含多个线程。 线程:是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的、可以独立运行的基本单位,除运行中必不可少的资源外,基本上不拥有自己的系统资源 阅读全文
posted @ 2017-10-11 10:47 落雷 阅读(235) 评论(0) 推荐(0) 编辑
摘要:排序算法大致可分为两类: 比较排序,时间复杂度一般在O(nlogn) ~ O(n^2)之间,主要有冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、堆排序等 非比较排序,时间复杂度可达到O(n),主要有计数排序、基数排序等 本文主要介绍常用的其中比较排序。 1、冒泡排序 说明:冒泡排序是一 阅读全文
posted @ 2017-10-10 21:45 落雷 阅读(246) 评论(0) 推荐(0) 编辑
摘要:C++是Bjarne Stroustrup博士于1982年,在C语言的基础上引入并扩充了面向对象的概念后发明的一种新的程序语言。就与C语言的渊源而言,C++可以说是C语言的超集,它兼容C的一切(可能是小可才疏学浅,并没有发现C可以但C++不可以的东西)。 C语言面向过程,侧重于算法和数据结构;C++ 阅读全文
posted @ 2017-10-10 20:49 落雷 阅读(203) 评论(0) 推荐(0) 编辑
摘要:简单的链表练习。。。。。。 实现:myList.h myList.cpp 阅读全文
posted @ 2017-10-08 21:34 落雷 阅读(149) 评论(0) 推荐(0) 编辑
摘要:1、说明:使用位运算进行加运算是面试过程中经常遇到的;减乘除均可以基于位运算加来实现。 减:加第二个数的取反 乘:n个第一个数相加 除:第一个数最多可以减去多少个被减数 2、位运算符 &:按位与,两个相应的二进位数为1,该位的结果为 1 否则为 0 |:按位或,两个相应的二进位中只要有一个为 1,该 阅读全文
posted @ 2017-10-08 16:19 落雷 阅读(276) 评论(0) 推荐(0) 编辑
摘要:二分查找法(Binary Search):在有序数组中查找某一特定元素位置的搜索算法 实现: 阅读全文
posted @ 2017-10-04 20:38 落雷 阅读(176) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示