![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 73
m_szAnimal
万千世界
展开
-
关于c函数中的参数 "..."
经常在一些日志处理上会看到函数传参 "...",这个是函数的占位符。要想把占位符搞成变量需要使用c提供的stdarg.h内封装的va_list指针(一般是指针)。举例:void implog(char *file, int line, int logtype, const int* fmt, ...)先定义一个va_list变量,用于指向参数指针va_listargs;原创 2016-05-10 17:26:18 · 336 阅读 · 0 评论 -
智能指针
c++中经常为内存泄漏的问题而困扰。如:void func(){classA * ca = new classA();ca->funa();//delete ca;}上述的例子中说明了几本的情形:指针声明在堆栈,指向堆的类,函数结束后,堆栈内存释放,而堆没有释放导致内存泄漏了。如果把注释去除是否就可以解决了呢。在正常情况当然可以,但是如果 ca->fun原创 2016-05-25 15:20:32 · 222 阅读 · 0 评论 -
子类继承父类的私有成员
关于子类继承父类的私有成员,以及访问的探讨:sub.h文件:#ifndef _SUB_H#define _SUB_H#include#includeclass subbase{public:subbase(){};void init();int getage();void setdata(int data);private:i原创 2016-05-18 16:35:42 · 1069 阅读 · 0 评论 -
关于继承的那点事
子类继承父类的时候对于构造函数以及成员的探讨:先进行代码分析:.h文件:#ifndef _0519001_H#define _0519001_H#include#include#include#includeconst int basemem = 3;class base{public://base(){};b原创 2016-05-19 10:28:08 · 320 阅读 · 0 评论 -
可怕的虚函数默认参数
先看代码:.h文件#ifndef _0520001_H#define _0520001_H#includeclass base{public:virtual void prt(int tmp = 1);};class sub : public base{public:virtual void prt(int sub原创 2016-05-20 09:49:07 · 332 阅读 · 0 评论 -
关于进程间通信的学习总结
linux的进程间通信:一、半双工的管道:1、半双工unix管道:pipe(fd)进程创建管道时,内核创建两个文件描述符。一个用于写,另一个用于读。创建管道的进程只能用该管道与自己通信。而父进程创建子进程后,子进程会继承父进程的文件描述符,也就可以进行和父进程通信了。(限于父子进程的通信,而且管道通信直接与内核打交道)举例:#include#incl原创 2016-06-17 17:01:17 · 393 阅读 · 0 评论 -
堆排序
文章转自:http://www.cnblogs.com/dolphin0520/archive/2011/10/06/2199741.html堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不转载 2016-06-23 17:09:15 · 252 阅读 · 0 评论