封装一个自己的打印函数

封装一个自己的打印函数#include<stdio.h>#include<stdarg.h>#defineDEBUG_BUF_MAX4096voiddebug_info(char*file,constchar*func,unsignedintline,constchar*fm
c/c++ 2020年08月18日 83次浏览

获取结构体中变量的偏移位置

获取结构体变量偏移位置#defineget_variable_index(TYPE,member,ITYPE,index)\{\*index=(ITYPE)(&(((TYPE*)0)->member));\}while(0)TYPE为结构体类型。member为结构体中要获取位置的变量名
c/c++ 2020年08月18日 66次浏览

快速排序的三种写法

方法1:前面放一个指针的方法voidquick(int*arr,intlen,intstart,intend){intlow=start;for(inti=start+1;i<end+1;i++){if(arr[i]<arr[start]){low++;if(low!=i){swap(&
c/c++ 算法 2020年07月17日 187次浏览

如何编写operator =

类前提概要classCMyString{public:CMyString(char*pData=nullptr);CMyString(constCMyString&str);~CMyString(void);CMyString&operator=(constCMyString&
c/c++ 2020年07月17日 138次浏览

QT02-------控件与对话框的使用

QMainWindow菜单栏菜单栏最多有一个//菜单栏创建QMenuBar*bar=menuBar();//将菜单栏放入到窗口中setMenuBar(bar);//创建菜单QMenu*fileMenu=bar->addMenu("文件");//创建菜单项QAction*ne
QT c/c++ 2020年07月05日 171次浏览

结构体实现业务与代码的分离

将结构体的指针实现与业务分离#defineKEY_VALUEint#defineBSTREE_ENTRY(name,type)\structname{\structtype*left;\structtype*right;\}structbstree_node{KEY_VALUEdata;BSTREE
c/c++ 2020年07月04日 180次浏览

tcp udp数据报定义结构体

文章链接:https://codemouse.online/archives/2020-06-30-21-08-22tcpudp数据报定义结构体由于结构体写在结构体里面容易出现结构体内存对齐问题,需要将对齐值改为1,防止出错。#pragmapack(1)//设置对齐数udp报文头定义:structu
c/c++ 网络编程 计算机网络 2020年06月30日 172次浏览

QT学习01------信号与槽

乱码问题与QString转化为char*乱码就在需要输出中问的文件上加上这个宏#pragmaexecution_character_set("utf-8")QString转成char*.ToUtf8()转为QByteArray.Data()转为char*按钮控件常用API创建QP
c/c++ 2020年06月27日 195次浏览

内存池设计

内存池在日常的写代码中,经常有需要申请内存的时候,但是频繁的申请释放会特别的浪费时间,于是衍生了内存池,由内存池帮忙管理内存,内存池帮忙统一释放,免去了用户的频繁释放,申请内存只需要从内存池中已经申请好的内存中取出,如果没有大于需求的内存,则内存池再去申请一块回来。内存池增强了程序员对内存碎片话的管
c/c++ 程序设计 linux 2020年06月26日 170次浏览

OpenSSL库之内存分配

内存分配用户在使用内存时,容易犯的错误就是内存泄露。当用户调用内存分配和释放函数时,查找内存泄露比较麻烦。OpenSSL提供了内置的内存分配/释放函数。如果用户完全调用OpenSSL的内存分配和释放函数,可以方便的找到内存泄露点。OpenSSL分配内存时,在其内部维护一个内存分配哈希表,用于存放已经
c/c++ OpenSSL 2020年06月20日 181次浏览