3 snow_5288

尚未进行身份认证

三天不读书,智商输给猪

等级
博文 127
排名 1w+

QT实现简单计算器

一、模块图二、核心算法—–中缀表达式转化为后缀表达式1、将中缀表达式转换为后缀表达式的算法思想:1)计算机实现转换:·开始扫描;·数字时,加入后缀表达式;·运算符:a.若为‘(‘,入栈;b.若为‘)’,则依次把栈中的的运算符加入后缀表达式中,直到出现’(‘,从栈中删除’(’;c.若为除括号外的其他运算符,当其优先级高于除’(‘以外的栈

2018-01-29 10:22:50

智能指针再解剖

智能指针模拟实现:http://blog.csdn.net/snow_5288/article/details/53262810在以上文章中,我们对库里的某些智能指针进行了模拟实现,今天就来学习解剖一下库里的智能指针的实现和使用。一、总括对于编译器来说,智能指针实际上是一个栈对象,并非指针类型,在栈对象生命期即将结束时,智能指针通过析构函数释放有它管理的堆内存。接口:--所有智能指针都

2017-09-21 13:07:45

Web bench源码剖析

一、Webbench是什么?首先提一个概念—-压力测试。在运维工作中,压力测试是一项很重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同。面对这些问题,我们只能尽量去想方设法去模拟

2017-09-11 22:10:01

C/C++容易混淆的小知识点

1、函数传指针和传引用的区别?1>指针定义时可以不初始化,但引用不行;2>引用只能和一个实体结合,而指针可和多个实体结合;3>自加减意义不同。指针的++表示指针向后偏移类型个字节,而引用则是+1,–类似;4>sizeof求值的意义不同。Sizeof(指针)是指针所占的字节数,32位平台下为4,64位平台下为8(数组名除外),sizeof(引用)是指引用所指实体类型的大小;5>没有

2017-08-12 19:27:57

快速排序的三种实现及两种优化

一、快速排序的概念快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C.A.R.Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。二、快排的三种实现方式实现方式一:左右指针法算法思想:

2017-08-05 20:52:05

单例模式详解

一、什么是单例模式1、定义官方定义是这样的,单例模式是一种常用的软件设计模式,也叫单件模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。通俗点来说,就是一个类只允许实例化一个对象。2、动机对于系统中的某些类来说,只

2017-07-31 01:33:13

实现1+2+3...+n,要求不能使用乘除法、循环、条件判断、选择相关的关键字(for、while、if、else、switch、case)。

解法1:利用递归(&&的短路特性)&&的短路特性:即A&&B中,加入A为假,那么B就不会被运算,因此我们只要将递归放在B中,而将终止条件放在A中即可解决该问题。。。1/**************************************2*文件说明:recursion.cpp3*作者:段晓雪4*创建时间:2017年07月15日星期六09时54分25秒5

2017-07-15 13:59:12

网络基础(一)

一、网络分层1、OSI网络分层OSI(OpenSystemInterconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。OSI七层模型是一种框架性的设计方法,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮助不同类

2017-07-07 15:04:40

循环冗余校验(CRC校验)

一、循环冗余校验的作用在网络传输过程中,我们可能会遇到或多或少的差错,所谓差错,是指接收端收到的数据和发送端实际发送的数据出现不一致的现象,凡是出现差错的地方,我们都应对其进行差错控制。差错控制的作用与机制:差错控制是采用可靠、有效的编码以减少或消除计算机通信系统中传输差错的方法,其目的在于提高传输质量。主要作用是通过发现数据传输过程中的错误,采取相应的措施减少数据传输错误。差错控制的核心是对传

2017-06-19 20:02:43

端口

一、端口是什么“端口”是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。电话使用RJ11插口也属于物理端口的范畴。二、端口的基本术语1、硬件端口CPU通过接口寄存器或

2017-06-19 18:19:08

Linux下的系统编程总结

1、基本指令,5个背景知识(OS,环境变量,文件类型,shell运行原理,文件权限)linux常见指令以及权限理解Linux下的权限管理与相关时间概念Linux下的find指令Linux下的黏滞位(Stickybit)2、开发环境(vim、gcc,g++,gdb,ctags,make,makefile)Linux环境搭建(vim,makefile,gdb…)3、进程1—–进程的

2017-06-18 15:40:29

Linux下的终端和作业控制

一、进程间的关系进程间的三种关系:进程组、作业和会话。1、进程组每个进程除了有一个进程ID之外,还属于一个进程组。进程组是一个或多个进程的集合。通常,它们与同一作业相关联,可以接收来自同一终端的各种信号。每个进程组有一个唯一的进程组ID。每个进程组都可以有一个组长进程(该组进程的第一个,组成员ID等于组长ID)。组长进程的标识是,其进程组ID等于其进程ID。组长进程可以创建一个进程组,创建该

2017-06-18 15:21:35

Linux下的守护进程

一、什么是守护进程1、守护进程的引入在现实生活中,许多大型的软件或服务器必须保证7*24小时(一周7天,一天24小时)无障碍的运行,例如淘宝网、百度搜索引擎、支付宝等等,那么像这样一种要一直运行的程序怎么实现呢?究其本质其实就是我们的守护进程。2、守护进程的定义守护进程也称精灵进程(Daemon),是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事

2017-06-18 11:06:56

Linux下的进程概论与编程三(进程间通信的5种方式)

Linux下的进程概论与编程一(进程概念与编程)Linux下的进程概论与编程二(进程控制)一、进程间通信1、IPC—-InterProcessCommunication每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称

2017-06-15 22:37:36

Linux下的进程概论与编程二(进程控制)

Linux下的进程概论与编程一(进程概念与编程)一、进程标识符1、每个进程都有非负的整形表示唯一的进程ID。几个典型进程的ID及其功能:2、除了进程ID,每个进程还有一些其他的标识符。下列函数返回这些标识符:#include<sys/types.h>#include<unistd.h>pid_tgetpid(void);//返回值:调用进程的进程IDpid_tgetppi

2017-06-14 21:06:10

Linux下的进程概论与编程一(进程概念与编程)

一、典型的Linux结构最简单也是最复杂的操作:二、进程的概念1、进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。OS:程序的一个执行实例。

2017-06-14 18:04:02

Linux下的多线程编程二(线程的同步与互斥)

一、什么叫做线程的同步与互斥?为什么需要同步与互斥?二、互斥量三、条件变量四、信号量五、读写锁

2017-06-14 14:53:47

Linux下的多线程编程一(系统编程)

一,线程的基本概念1,线程的定义:线程也被称为轻量进程(LWP)计算机科学术语,指运行中的程序的调度单位。线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,从而实现程序的并发执行。一般,线程具有就绪、阻塞和运行三种基本状态。在多中央处理器的系统里,不

2017-06-11 21:30:29

子进程的异步等待方式

一,基础知识1,进程的各种状态S:浅度睡眠,可以中断,可以杀死,暂停,修改等;D:深度睡眠,不可中断,永远不可变;2,僵死状态(Zombies)一个比较特殊的状态。指子进程结束运行(exit(0))后,系统将会保留子进程的描述符信息(没有被回收,其他进程不可以重用该描述符),当进程退出并且父进程(使用wait()系统调用)没有读取到子进程退出的返回代码时就会产生僵尸进程。僵尸进程会以终

2017-06-11 11:45:02

gdb调试多进程与多线程

一,gdb的基础知识1>介绍:gdb是Linux环境下的代码调试工具。2>使用:需要在源代码生成的时候加上-g选项.3>开始使用:gdbbinFile4>退出:ctrl+d或quit5>调试过程中的常用命令:list/l行号:显示binFile源代码,接着上次的位置往下列,每次列10行。list/l函数名:列出某个函数的源代码。r或run:

2017-06-10 16:32:25
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!