会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
封狼居胥
博客园
首页
新随笔
联系
订阅
管理
2021年9月3日
深度探索C++对象模型
摘要: 一、关于对象 C++在布局以及存取时间上主要的额外负担是由virtual引起的 virtual function :支持一个有效率的执行期绑定,多态。 virtual base class :实现多次出现在继承体系中的base class,有一个单一而被共享的实例 1.1 C++对象模型 加上封装后
阅读全文
posted @ 2021-09-03 19:46 封狼居胥!
阅读(743)
评论(0)
推荐(0)
2021年8月30日
宏定义和const变量/普通函数的区别
摘要: 宏定义常量和const变量比较: 1. 宏定义常量在预处理阶段进行替换,不进行类型检查; const变量在编译阶段进行类型检查; 2. 宏定义常量不存在于常量表中,系统不为其分配内存; const变量存在于常量表中,系统为其分配内存; 3. 大量使用宏,每次预编译都需进行替换,易导致编译时间过长;
阅读全文
posted @ 2021-08-30 21:53 封狼居胥!
阅读(601)
评论(0)
推荐(0)
2021年8月29日
简易线程池实现(C++)
摘要: #include <vector> #include <queue> #include <thread> #include <functional> #include <mutex> using namespace std; class ThreadPool { public: static con
阅读全文
posted @ 2021-08-29 23:16 封狼居胥!
阅读(97)
评论(0)
推荐(0)
生产者消费者模式(C++)
摘要: #include <iostream> #include <queue> #include <thread> #include <mutex> #include <unistd.h> #include <condition_variable> using namespace std; #define
阅读全文
posted @ 2021-08-29 22:29 封狼居胥!
阅读(422)
评论(0)
推荐(0)
智能指针 shared_ptr 简易实现(C++)
摘要: template <typename T> class shared_ptr { private: int* count; // 引用计数,不同shared_ptr指向同一引用计数 T* ptr; // 模板指针ptr,不同shared_ptr指向同一对象 public: // 构造函数 share
阅读全文
posted @ 2021-08-29 21:47 封狼居胥!
阅读(93)
评论(0)
推荐(0)
2021年8月16日
广度优先搜索BFS
摘要: 广度优先搜索的本质:在一幅图中,从一个起点,走到终点,求出最短路径。 伪代码: // 计算从起点 start 到终点 target 的最近距离 int BFS(Node start, Node target) { queue<Node> que; Set<Node> visited; //记录每个点
阅读全文
posted @ 2021-08-16 16:19 封狼居胥!
阅读(56)
评论(0)
推荐(0)
2021年7月29日
linux下gdb调试
摘要: gdb是Linux操作系统下基于命令行的程序调试工具。 以C++为例,测试程序为test.cpp,通过makefile或者命令gcc生成可执行文件test: //-g为了调试用的 ,加个-g 是为了gdb 用,不然gdb用不到 //-o output_filename,确定输出文件的名称为outpu
阅读全文
posted @ 2021-07-29 20:54 封狼居胥!
阅读(366)
评论(0)
推荐(0)
2021年7月21日
二叉树的遍历与创建
摘要: 前序遍历 前序遍历伪代码: void prevorderTraverse(TreeNode* root) { if (root == NULL) return; // 前序遍历代码 prevorderTraverse(root->left);//递归左子树 prevorderTraverse(roo
阅读全文
posted @ 2021-07-21 20:46 封狼居胥!
阅读(147)
评论(0)
推荐(0)
2021年7月11日
回溯算法
摘要: 回溯算法 伪代码1: result;//用于存放结果集 backTracking() { if(满足结束条件) { 将结果添加到结果集中; return; } for(选择in选择列表) { 修改; backTracking();//回溯 回改; } } LeetCode46-全排列:给定一个不含重
阅读全文
posted @ 2021-07-11 19:54 封狼居胥!
阅读(109)
评论(0)
推荐(0)
2021年4月13日
epoll的EPOLLONESHOT事件类型
摘要: 上一篇博客https://www.cnblogs.com/yongjin-hou/p/14655881.html提到,与 poll 的事件宏相比,epoll 新增了两个事件宏 EPOLLET和EPOLLONESHOT,EPOLLET事件类型对应的就是水平触发模式,今天要讲的是EPOLLONESHOT
阅读全文
posted @ 2021-04-13 23:50 封狼居胥!
阅读(535)
评论(0)
推荐(0)
下一页
公告