qq18457852
qq18457852
全部文章
c++
Linux内核与操作系统(12)
linux系统编程与网络编程(31)
代码随笔(4)
分布式系统与中间件(1)
服务器架构设计(2)
深度学习(6)
网络与数据库(7)
设计模式(2)
题解(1)
归档
标签
去牛客网
登录
/
注册
qq18457852的博客
全部文章
/ c++
(共55篇)
c++ pimpl编程技法
之前写过一次关于pimpl的博文,最近写代码又频繁遇到这个,再次总结一次. 先来看一段代码,这段代码中无论Impl中的print函数如何更改,客端调用Shape的print接口都不用更改,因此降低了接口的耦合性.屏蔽掉了接口的具体实现方式.另一个作用就是降低了头文件之间的依赖关系,大大降低编译时间...
2019-12-19
0
680
c++ 装饰器设计模式
装饰器设计模式就是在原有类的基础上增加一些装饰功能,顶层的接口实现子类作为要实例化的对象,传到装饰器中,增加特定装饰器的功能,我习惯用代码解释,直接看代码. 这段代码包含了两个例子,都是先定义一个顶层的接口,然后定义装饰器抽象类,里面维护了一个接口的指针,在具体的装饰器中,通过构造函数传递顶层接口...
2019-12-19
0
1096
生产者消费者与阻塞队列
队列以及锁和条件变量的封装,注意队列的阻塞在生产者消费者代码中实现,代码中的队列只负责任务的生产消费场所 #include <bits/stdc++.h> #include <pthread.h> #include <unistd.h> using nam...
2019-12-19
1
502
开源网络库owl分析(一)reactor模式分析
代码地址:https://github.com/xunshuidezhu/owl owl是本人开发的一个基于reactor架构的网络库,包含了reactor模型,日志库,协程库,http模块,计时器,采用epoll LT模式,配合协程的使用,可以轻松实现异步网络io,而不必采用非阻塞io+epol...
2019-12-19
0
1201
c和c++内存模型
C分为四个区:堆,栈,静态全局变量区,常量区 C++内存分为5个区域(堆栈全常代 ): 堆 heap : 由new分配的内存块,其释放编译器不去管,由我们程序自己控制(一个new对应一个delete)。如果程序员没有释放掉,在程序结束时OS会自动回收。涉及的问题:“缓冲区溢出”、“内存泄露...
2019-07-15
1
949
c++内存对象模型
http://mp.blog.csdn.net/postedit
2019-07-15
0
461
mutable
常函数就是带const修饰的函数,为什么要有常函数这个概念,因为为了封装的良好性,优势我们用到的一些函数并不需要我们去改变类中的参数,和成员变量,仅仅只是为了显示和输出的作用,因此才引进常函数,multable的英文意思主要是可变的,我们了解到c++中,一件事情并不是绝对的,如果有常函数,那么一定有...
2019-07-15
0
415
trivial,non-trival, pod
Trivial(平凡)和Non-Trivial(不平凡)是对于class(类)的或者类中的四个函数而言的: 1.构造函数 2.拷贝构造函数 3.赋值函数 4.析构函数 Trivial 其中Trivial(平凡)的概念本人的理解是无意义的,Trivial是相对于Non-Tr...
2019-07-15
0
615
gcc编译之预宏定义 -D 相当于所有文件#define
GCC编译时增加宏定义-D<标识符>,相当于#define <标识符>,可以在遇到条件编译时执行。 #ifdef <标识符> //条件编译内容 #endif 例子: 搭配gcc编译命令:gcc -DDEBUG -g -o main.out main...
2019-07-09
0
629
c/c++ #头文件路径寻找 -I指令与系统默认路径/usr/include,/usr/local/include...
C/c++中可以通过#include <stdio.h>和#include "stdio.h",区别是: #include <stdio.h>,直接到系统指定目录去查找头文件。 #include "stidio.h",会先到当前目录...
2019-07-09
0
757
首页
上一页
1
2
3
4
5
6
下一页
末页