STL中的set和map

原文:http://blog.csdn.net/terence1212/article/details/52487656STL的set和map都是基于红黑树实现的,和stack和queue都是基于deque一样,它们仅仅是调用了RBTree提供的接口函数,然后进行外层封装即可。本篇博客理解起来比较...

2017-09-05 15:29:48

阅读数 264

评论数 0

webbench源码剖析

webbench是一种网站的压力测试工具,它是由Lionbridge公司开发,wenbench的标准测试可以向我们展示两项内容:每秒钟相应的请求数和每秒钟传输的数据量;。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,Java,CGI)进 行测试的能力。还有就是他...

2017-09-04 21:04:34

阅读数 196

评论数 0

常见的文本压缩算法

1.目前主要的文本压缩算法 文本压缩是根据一定的方法对大量数据进行编码处理以达到信息压缩存储的过程,被压缩的数据应该能够通过解码恢复到以前的状态,而不会发生信息丢失的现象。2.文本压缩的分类 3.算法描述3.1.Huffman编码1.原理简介 huffman压缩是数据结构课程中的常见内容, 是...

2017-08-15 14:32:18

阅读数 4494

评论数 0

C语言实现C++的封装继承与多态

1、 概述 C语言是一种面向过程的程序设计语言,而C++是在C语言基础上衍生来了的面向对象的语言,实际上,很多C++实现的底层是用C语言实现的,如在Visual C++中的Interface其实就是struct,查找Interface的定义,你可以发现有这样的宏定义:#ifndef Inter...

2017-07-29 07:53:16

阅读数 332

评论数 0

学习字符串string类

学习C++ -> string类字符串一、string类字符串的介绍 在程序设计中, 字符串的使用十分频繁, C语言类型字符串(简称C-串)在使用与字符串的处理上较为复杂, C++为了在程序设计中更加方便的使用字符串特新增了一种string类型的字符串。  string类字符串为S...

2017-07-25 22:36:51

阅读数 200

评论数 0

面试题:C++实现一个不能被继承的类

一个子类继承一个父类,子类的构造函数和析构函数会自动调用父类的构造函数, 先要求设计不能继承的类,即不允许子类的构造函数调用父类的构造函数和析构函数,方法如下:1.直接的方法:将父类的构造函数和析构函数设置为private成员函数 私有成员只能被自身的类访问class A { public:...

2017-07-15 20:51:48

阅读数 290

评论数 0

obj : error LNK2019: 无法解析的外部符号 "public: __thiscall B::B(void)" (??0B@@QAE@XZ),该符

今天在写类的简单实现时突然遇见这样的问题,最后发现是因为自己忘记实现构造函数的析构函数class B:public A { public: B(); ~B(); };出现该错误:obj : error LNK2019: 无法解析的外部符号 “public: __thiscall B...

2017-07-15 20:23:22

阅读数 1151

评论数 0

shell脚本实现彩色进度条的编写

我们在之前写过c/c++实现的进度条,原理相同,这里主要着重于彩色进度条的实现这里只是一个带颜色的进度条,主要是让我们知道颜色如歌设置 代码:#!/bin/bash function bar(){ str='' i=0 j=0 arr=('|' '/' '-' '\')while [ $i -l...

2017-07-06 15:11:53

阅读数 268

评论数 0

shell中的eval以及与 反引号``、$()的区别

本文转载自:shell中的eval shell 中的 eval 功能说明:重新运算求出参数的内容。语  法:eval [参数]补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。参  数:参数不限数目,彼此之间用分号分开。1.eval命令将会首先扫描命令行进行所有的替换,然后再...

2017-07-03 17:54:05

阅读数 376

评论数 0

poll服务器---多路连接之 poll

1.poll与select不同在于描述符存储方式不同和参数类型不同 结构体数组的管理:当每次有需要关心的描述符时,将其放入结构体中,每次有无效的描述符后,将其描述符置-1,下次poll函数会忽略它。当有新的描述符加入时,从头遍历结构体,将为-1的元素设为要关心的描述符事件状态。切记:当新的描述符加...

2017-07-01 19:12:57

阅读数 128

评论数 0

epoll服务器---I/O多路转接之epoll

1、基本知识  epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关心的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需...

2017-06-30 16:46:17

阅读数 134

评论数 0

select服务器---I/O多路连接之select

现如今,提高网络服务器的性能,提高I/O的性能,我们知道I/O系统其实做了两件事,一是等待数据就绪,二是数据的搬移;尤其是远距离网络传输“等”状态尤其明显,所以提高I/O性能本质是减少等的比重,其越趋近于0,效率就越高;I/O模型中提供一种多路复用模型,一次等待多个文件描述符,只要存在就绪文件,就...

2017-06-29 22:17:56

阅读数 173

评论数 0

socketpair和dup---高级I/O

一、我们在学习进程间通信的时候学习过匿名管道pipe,匿名管道的特点: 只能用于单向通信 只能用于有血缘关系的两个进程,通常是父子进程 生命周期随进程 面向字节流 具有同步机制 我们现在学习一种新的管道socketpair,可以用于双向通信,也是用于父子进程,代码实现与匿名管道类似#include...

2017-06-25 20:28:04

阅读数 203

评论数 0

udp套接字及应用层udp超时重传

编写udp服务器1.注意要点: udp是无连接,不稳定,面向数据报的一种传输层协议; 既然他不可靠为什么还要用呢?其一:当应用程序使用广播或多播时只能使用UDP协议; 其二:由于他是无连接的,所以速度快 如果一方的数据报丢失,那另一方将无限等待,解决办法是设置一个超时重传机制; 建立UDP套接口时...

2017-06-25 19:00:52

阅读数 2913

评论数 0

进程池与线程池---实现服务器

1.池的概念 由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。池是一组资源的集合,这组资源在服务器启动之初就完全被创建并初始化,这称为静态资源分配。当服务器进入正式运行阶段,即开始处理客户请求的时候...

2017-06-24 21:06:22

阅读数 804

评论数 0

bind error : Cannot assign requested address,该如何处理

bind error : Cannot assign requested address 代码:#include<stdio.h> #include<sys/types.h> #include<sys/socket.h> #include<stdlib....

2017-06-24 08:07:41

阅读数 4131

评论数 0

tcp_socket绑定(bind)失败---Address already is use原因

我们前面介绍了三种tcp_server编写多进程多线程服务器编写,在测试这三个servet我们遇到一个问题,就是当我们绑定一个端口号后,ctrl-z结束掉server服务器,此时再次绑定该端口号会出现这样的出错提示:显示端口号正在被使用,可是我们已经关闭了服务器了,为什么不能使用呢?但过一端时间之...

2017-06-24 07:39:58

阅读数 6964

评论数 0

多进程多线程服务器(tcp_server)编写

编写客户/服务器1.编写单进程客户/服务器(Version1) 代码清单: tcp_servet #include<stdio.h> #include<sys/types.h> #include<sys/socket.h> #include<stdlib...

2017-06-23 23:21:25

阅读数 381

评论数 0

TCP三次握手和四次挥手

TCP是面向来连接的协议,运输连接有三个阶段:建立连接(三次握手)、数据传送、释放连接(四次挥手);一、TCP的连接建立1.如图:建立链接(三次握手)具体步骤:(假设A是客户,B是服务器) A主动打开链接,B被动打开链接,此时两端的TCP处于CLOSED状态; B的TCP服务进程先创建传输控制块T...

2017-06-20 10:38:41

阅读数 170

评论数 0

URG和PSH区别以及TCP协议定时器

一、URG&PSH的区别 TCP的报头信息有六个控制位,说明本段文的性质;分别为紧急URG、确认ACK、推送ACK、复位RST、同步SYN、终止FIN;今天我们来主要来介绍介绍PSH和URG的区分;1.URG是什么? URG表示紧急指针,与紧急指针字段搭配使用,当URG = 1时,表示...

2017-06-20 08:23:14

阅读数 230

评论数 0

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