随笔分类 - A C++ 小仓库
摘要:一个错误排查两天,std::string赋初值时最好为"", 如果赋初值为nullptr,因为std::string不能和nullptr作比较,所以后面用的时候会引起崩溃。 佩服我这脑子...因为派生类莫名的析构一直定位问题,最后定位到构造函数,哈哈哈哈哈哈哈哈
阅读全文
摘要:转自http://blog.chinaunix.net/uid-442138-id-2122464.html enable_from_this 的使用与实现原理说明: shared_from_this()是enable_shared_from_this的成员函数,返回shared_ptr; 注意的是
阅读全文
摘要:在web服务中,断开空闲连接是一种减少资源浪费的一种手段,由此就有了心跳机制来判断一个连接是否空闲。 一种简单粗暴的方式: 1. 服务端每个连接保存一个最后一次操作的时间戳,每次这个连接对应fd可读时(客户端发来请求),就更新一下时间戳。 2. 服务端会起一个定时任务: close掉在时间戳(now
阅读全文
摘要:C++ 中类初始化列表执行顺序是按照定义的顺序执行,不是写在初始化列表的顺序执行 上面代码执行顺序为a_(b_), b_(b) 运行结果为:
阅读全文
摘要:转自(https://blog.csdn.net/hackbuteer1/article/details/7558868) 首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义
阅读全文
摘要:#include #include #include #include void print(int x) { printf("%d\n", x); } int main() { std::thread t1(print, 1); std::thread t2(print, 2); // 获得线程ID std::thread::id t1_i...
阅读全文
摘要:1 void *malloc( size_t size ); 申请一段size大小的内存,返回这段内存的首地址(指针),申请失败返回NULL,malloc申请的内存空间可以用memset来初始化 2 void *calloc( size_t num, size_t size ); 申请一段size大
阅读全文
摘要:2018-08-02 (星期四)C++类型转换:static_cast提供编译时期静态类型检测: static_cast <type-id> (expression) 1)完成基础数据类型 2)同一个继承体系中类型的转化 3)任意类型与空指针类型void*之间的转化 4)在执行转化必要的检测(指针越
阅读全文
摘要:Signal函数: 这个函数是一种系统调用,就是告诉系统发生中断的时候用该干嘛。第一个参数就是信号的编号,第二个参数就是信号的指针。 原型: 第一个参数sig:要传入需要修改处理函数的信号编号。 第二个参数:是一个无返回值类型,接受一个int形参的函数指针,指向对sig信号的新处理函数。 第二个参数
阅读全文
摘要:一、守护进程的概念: 守护进程就是通常说的daemon进程,是linux后台执行的一种进程,他的特点就是,生存周期长,独立于控制终端并且周期性的执行某种任务,不会随着终端的关闭而停止运行,直到接收到停止信息才会结束运行。 二、守护进程的创建: 先解释这个语句的意思: 为什么做这一步? 由于守护进程是
阅读全文