何进鸿

askunix@163.com

C++类的六个默认成员函数

类的六个默认成员函数: 1、构造函数 概念: (1)构造函数是用于构造新对象,并将初始值赋给对象的数据成员。 (2)类型转化,适用于单参的构造函数。 用explicit修饰构造函数,抑制由构造函数定义的隐式转换,erplicit关键字类内部的构建声明上,在类的定义体外部的定义...

2018-07-30 12:41:10

阅读数 764

评论数 0

模拟实现库函数memcpy、memmove

模拟库函数memcpy 函数原型: void *memcpy( void *dest, const void *src, size_t count ); 函数功能: memcpy函数是从源字符串中取前count个地址字符放入到目标字符串前count个地址位置...

2018-07-22 13:45:28

阅读数 988

评论数 0

【排序算法】快速排序(可视化描述,实现方法,代码优化)

这是快排的可视化动态图描述: 该方法的基本思想是: (1)选择基准:在待排序列中,按照某种方式挑出一个元素,作为 “基准”; (2)分割操作:以该基准在序列中的实际位置,把序列分成两个子序列。此时,在基准左边的元素都比该基准小,在基准右边的元素都比基准大; (3)递归地对两个序列进行快...

2018-07-17 16:40:30

阅读数 1859

评论数 0

【面试题】字符串中第一个只出现一次的字符

问题描述: 在字符串中找出第一个只出现一次的字符,例如字符串 str = “abcdabcdef “,那么对于这个字符串,第一个只出现一次的字符就是 e 。 首先这道题可以考虑遍历:从第一个字符开始,挨个与后面字符作比较,如果有重复的字符,就跳出本次循环,再从第二个字符开始往后比较,类...

2018-07-15 14:38:05

阅读数 1168

评论数 0

HTTP协议的长连接与短连接

点击查看原文:查看原文 1、HTTP协议与TCP协议的关系?? HTTP的长连接和短连接实质上是TCP的长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。 IP层:解决网络路由和寻址问题 TCP协议:解决如何在IP层之上可靠的传输数据报,并在...

2018-07-15 11:38:00

阅读数 1314

评论数 0

普通版 / 多进程 / 多线程 --- TCP服务器实现原理详解

UDP服务器请查看: 简单的UDP服务器实现 代码注释很详细,不了解的可以看代码,基本一半以上都是注释。 tcp_server.c (普通版) #include<stdio.h> #include<sys/sock...

2018-07-13 19:19:15

阅读数 1144

评论数 0

TCP连接的建立和关闭过程及相关面试问题详解(三次握手&四次挥手&面试问题)

三次握手、四次挥手问题是面试中一定会问到的,包括在《高质量C/C++编程》一书中也有类似的习题。(浏览器输入www.baidu.com回车后发生了什么?)这篇blog就TCP连接的建立和关闭过程及相关面试问题做一个详解,如有错误,望指正。 如果对TCP还不了解,可以先阅读这篇文章: 三...

2018-07-03 19:45:59

阅读数 1028

评论数 0

堆排序

描述: 堆排序就是利用堆这种数据结构进行排序的算法,堆排序属于选择排序。 堆是一棵顺序存储的完全二叉树 堆排序的时间复杂度: O(nlogn),属于不稳定排序。 大根堆 小根堆 每个节点的值大于等于孩子节点得堆 每个节点得值小于等于孩子节点得值 ...

2018-06-27 00:49:03

阅读数 3524

评论数 1

二叉树的层序遍历(两种方法实现)

两种方法实现二叉树的层序遍历 1、说明 二叉树的层序遍历是面试经常会被考察的知识点,甚至要求当场写出实现过程。 层序遍历所要解决的问题很好理解,就是按二叉树从上到下,从左到右依次打印每个节点中存储的数据。如下图: 先序遍历:A → B → D → C 中序遍历:B → ...

2018-06-24 23:51:59

阅读数 7733

评论数 0

分析malloc\free、new\delete的用法和区别

写在前面 每个程序在执行时都会占用一块可用的内存空间,用于存放动态分配的对象,此内存空间称为自由存储区或堆。 malloc和free用法 首先明白malloc是动态内存开辟函数,malloc和free是成对出现的,malloc和free在头文件stdlib.h函数中声明,mal...

2018-06-22 11:48:51

阅读数 944

评论数 0

成长就是从认识到自己的无知而开始的

博客搬家原因: CSDN的博客已经用了半年了,文章都写的比较基础,虽然CSDN最近更新过,但仍然满足不了我的需求,不够折腾,哈哈。 CSDN对于新手来说还是一个比较好用的、简洁的平台,有独立的后台管理,比较实用,但是主题设置、自定义方面比不上博客园,好多博客老手都在用博客园。 以后仍会持续...

2018-05-21 13:20:48

阅读数 1143

评论数 0

计算机类专业毕业设计(课程设计)题目大全

ASP 类计算机专业毕业设计题目 第 1-100 个题目 网络留言薄 客户管理系统 多媒体积件管理库的开发与应用 基于 WEB的多媒体素材管理库的开发与应用 网络教学软件中的教学设计与应用 小型教育网站的开发与建设 基于图像的风景旅游模拟漫游系统 网上报名系统 电脑配件网络购物 房产网站 计算机...

2019-05-15 22:15:26

阅读数 10

评论数 0

qt creator中快捷键配置和常用快捷键

快捷键配置: 工具 -> 选项 -> 环境 -> 键盘 常用快捷键: F1 查看帮助 F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果) Shift+F2 声明和定义之间切换 F4 头文件和源文件之...

2019-05-12 16:50:00

阅读数 40

评论数 0

JSON基础

JSON:JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是存储和交换文本信息的语法。类似 XML。 JSON 比 XML 更小、更快,更易解析。 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(Java...

2019-05-12 11:20:24

阅读数 76

评论数 0

APUE学习笔记(第十三章:守护进程)

概念: 守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。...

2018-12-29 16:01:23

阅读数 138

评论数 1

使用setjmp和longjmp函数实现跨函数跳转

setjmp和longjmp函数的跳转有别于goto语句。它是指在栈空间上的跳转。用于函数间跳转时,调用longjum函数以返回到程序的主循环中,而不是从该处理程序返回。 这是一段实例代码: 运行结果: ...

2018-12-20 17:04:50

阅读数 102

评论数 0

APUE学习笔记(第十一章:线程)

1、每个线程在进行事件处理时可以采用同步编程模式,同步编程要比异步编程模式简单得多。 2、有人把多线程的程序设计与多处理器或多核系统联系起来。但是即使程序运行在单处理器上,也能得到多线程编程的模型的好处。 3、处理器的数量并不影响程序结构,所以不管处理器的个数多少,程序都可以通过使用线...

2018-12-19 21:06:36

阅读数 58

评论数 0

APUE学习笔记(第十章:信号)

信号的概念: 信号是软件中断。信号提供一种处理异步事件的方法。 信号被定义为正整数常量,定义在<signal.h>中。 在某个信号出现时,可以告诉内核以三种方式处理:忽略、捕捉、执行系统默认动作。 信号相关的函数: 函数signal void (*sig...

2018-12-19 16:29:51

阅读数 60

评论数 0

APUE学习目标

近期正在看APUE,之前对UNP略有了解。并有过简单的编程经验。 看了一周的APUE,文件IO、标准IO、环境变量、进程、信号、等都看完了,并敲了一些习题代码。阅读效果不是很高。所以写一篇文章总结一下原因,并定个阅读目标。 APUE主要是从文件操作、进程间通信的学习。学习Unix核心思想,一切...

2018-12-19 11:13:25

阅读数 80

评论数 0

APUE学习笔记(第八章:进程控制)

引言: 每个进程都有一个非负整型表示的唯一进程。虽然唯一,但是进程ID可以复用。 大多数UNIX系统实现延迟复用算法,使得赋给新建进程的ID不同于最近终止进程所使用的ID。这防止了将新进程认为是使用同一ID的某个已终止的先前进程。 ID为0的进程是调度进程,也称交换进程。该进程是内核的一部分...

2018-12-17 14:48:26

阅读数 73

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭