- 博客(21)
- 资源 (3)
- 收藏
- 关注
原创 Epoll 服务器的一种通用框架,epoll_data_t 的使用
一、前言前面已经介绍过一个原始结构epoll服务器的使用,原文请点击查看:epoll原始结构服务器现在,我将在原epoll服务器的基础上对epoll的用法进行改进,进一步简化epoll服务器的编码方式,这种框架在大型项目中十分高效,正所谓框架搭的好,往里面填“dog shit”都不会有问题。这当中,我们需要用到一个简单的消息封装结构,这在通信中十分常见,类似于一种伪协议,只有内部通用。...
2018-08-19 17:37:50 2779 6
原创 快速排序及多线程快排优化 & 选择 & 归并排序
一、写在前面1.回调函数:用到函数指针,即指向函数的指针,这在代码框架结构设计中十分简洁高效,看代码typedef enum tagSORT_FUNC{ SELECT_SORT= 0, MERGE_SORT, QUICK_SORT, SORT_FUNC_MAX}SORT_FUNC_E;typedef void (*SORT_CALLBACK_PF...
2018-08-18 20:11:49 1669
原创 Python基础——语法简介
前言:python的学习纯粹是出于好奇与乐趣,为什么呢?因为python被说的出神入化,掌握了有史以来最优秀的C语言(几乎所有操系统都是由C语言编写的)及扩展的C++语言,总觉得还差点什么,或许python是一个好的选择,Python语言可以作为胶水语言,可以方便的嵌入C/C++。in a word,we need python!标识符第一个字符必须是字母表中字母或下划线_。 标...
2018-08-30 15:38:04 271
原创 C++ 简单socket服务器实现文件list
参考网上的实现方式,先实现一个初始的SOCKET类及客户端,服务器的继承类,后续打算实现C++ epoll的框架。现在把文件贴在下面基类Socket.h, Socket.cpp#ifndef _E_SOCKET_H_#define _E_SOCKET_H_#include <iostream>#include <netdb.h>#include &l...
2018-08-26 18:20:00 1119 1
原创 C++ 友元函数的使用&重载“输入输出”运算符
友元函数形式friend 类型名 友元函数名(形参表);然后在类体外对友元函数进行定义,定义的格式和普通函数相同,但可以通过对象作为参数直接访问对象的私有成员说明如下1)必须在类的说明中说明友元函数,说明时以关键字friend开头,后跟友元函数的函数原型,友元函数的说明可以出现在类的任何地方,包括在private和public部分;2)注意友元函数不是类的成员函数,...
2018-08-25 17:02:53 7037
转载 C++必须使用【初始化列表】初始化数据成员的三种情况
转自: https://blog.csdn.net/sinat_20265495/article/details/53670644 类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员;2.进入构造函数后在构造函数中执行一般赋值与计算。使用初始化列表有两个原因:原因1.必须这样做:《C++ P...
2018-08-25 15:49:41 1635
原创 C++ 模板显示具体化
摘自C++ primer plus 中文第六版 如果不考虑向后兼容的问题,并愿意键入较长的单词,声明参数是应该使用typename而不是class。模板显示具体化对于给定的函数名,可以有非模板函数,模板函数和显示具体化模板函数集他们的重载 版本。 显示具体化的原型和定义应该以template<>打头 ,并通过名称来指出类型。 具体化优先于常规模板,而非模板函数优先于具体化...
2018-08-25 14:40:26 1711
转载 C++ 函数模板
转载自: https://blog.csdn.net/lezardfu/article/details/56852043 Template 基础篇-函数模板Template所代表的泛...
2018-08-25 13:38:18 162
原创 C++ 函数重载
一、函数重载:重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。但是重载函数的返回值类型可以不同。两个重载函数必须在下列一个或两个方面有所区别:1、函数的参数个数不同...
2018-08-25 11:48:14 397
原创 linux主机序与网络序的转换
在网络通信中,经常用到字节序转换,实际上内核已经帮我们实现了两套通用的转序宏定义,但是在转换过程中,都是进行主继续与网络序的转换,代码难免冗余,我们可以根据已经提供的特性,来添加一些执行规则,这样就可以用一个转序函数实现两种转序,例如,htonl,既可以实现原htonl的功能,也实现了ntohl的功能,不用写两套转换函数,只需要将转序函数重新定义一个名字就可以。定义如下,未实测。实现的规则就是...
2018-08-18 20:56:35 1644
原创 linux获取时间,精确到微秒usec
包含系统头文件:#include <sys/time.h>用到的接口:int gettimeofday(struct timeval *tv, struct timezone *tz);计算时间间隔,精确到微秒:1.首先获取任务起始时间值,使用上述接口,也可以封装,并记录到微秒2.中途执行其他任务3.再次获取任务结束时间值,使用上述接口,也可以简单封装4....
2018-08-18 20:21:48 5692
转载 一个优秀的C++学习博客(二)
源自CSDN博客:wu_123_456 https://my.csdn.net/wu_123_456C/C++日常学习总结(第一篇)const用法及printf的执行顺序 C/C++日常学习总结(第二篇)结构体和类的大小及区别&amp;为什么是new一个对象而不是malloc C/C++日常学习总结(第三篇)不能重载的运算符和不同基类继承产生的二义性 C++日常学习总结(第四篇)共同基...
2018-08-18 13:27:53 246
转载 C++实战项目:坦克大战(一)
转自:https://blog.csdn.net/qq_26046771/article/details/66472045 &nbs...
2018-08-14 20:43:11 2749 2
转载 一个优秀的C++学习博客
C++ Primer学习笔记——$24 C++中不可移植的语言特性2011-01-19 15:18 阅读(155) 评论(0) C++ Primer学习笔记——$23 嵌套类、局部类和联合2011-01-19 15:17&n...
2018-08-14 20:36:58 857
转载 C++学习 ——STL之vector(三)常用函数
转自:https://blog.csdn.net/ac_hexin/article/details/52027405介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型...
2018-08-14 20:25:58 374
转载 C++ 学习——STL之vector(二)
转载自:https://blog.csdn.net/ac_hexin/article/details/52025684 1. 空间运用灵活性 vector与数组的唯一差别就在于空间运用的灵活性。ve...
2018-08-14 20:22:31 214
转载 C++学习——STL之vector(一 )
转载自:http://blog.csdn.net/pandy1110/article/details/5963908 C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。要解决此问题我们自己实现这样的类。在标准C++中,用容器向量(vector)实现。容器向量也是一个类模板。标准库vector类型使用需要的头文件:#include <vecto...
2018-08-14 20:07:32 128
转载 C++ 学习——STL之map介绍
转载自:https://blog.csdn.net/liitdar/article/details/80009712 本文主要介绍map的概念及用法。1. 概念map是STL的一个关联容器,它提供一对一的数据处理能力。map对象是模板类,需要关键字和存储对象两个模板参数,其中第一个参数称为关键字,每个关键字只能在map中出现一次;第二个参数称为该关键字的值,可理...
2018-08-14 19:56:32 409
转载 搞定linux上MySQL编程(二):MySQL语法基础操作
转自:https://blog.csdn.net/shallnet/article/details/46483699【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】 sql(structured query language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 sq...
2018-08-14 19:32:14 123
转载 MySQL学习(一、概述和表的基本操作)
转自:https://blog.csdn.net/qq_38741971/article/details/80575835一、数据库概念 数据库(Database:DB):数据库是按照数据结构啦组织、存储和管理数据的仓库--->数据库其实就是磁盘中的文件+管理系统 数据库管理系统(Database Management System:DBMS)是专门用于管理数据库的计算...
2018-08-14 19:27:09 115
原创 创建HASH的一个模板,以Linux内核hash_list为例
百度百科:散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(k...
2018-08-01 22:11:43 779
Qt坐标系转换(绘制逻辑坐标系)
2021-05-26
Python实现可配置的sftp传输
2020-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人