会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Jo3yZhu
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
2020年2月29日
C++类的构造重载、赋值重载与右值引用
摘要: 为什么要重载运算符“=”和拷贝构造函数? 1. 为了给类赋予新的能力的同时保持语义。比如之前文章提到的迭代器(iterator)重载自加操作符,就是为了保持语义; 2. 类的职责多样,有的类的拷贝过程默认拷贝构造函数无法满足,需要定制(比如深拷贝)。 拷贝构造/移动构造函数 拷贝构造函数重载相信我们
阅读全文
posted @ 2020-02-29 21:02 joeyzzz
阅读(1082)
评论(0)
推荐(0)
2020年2月25日
漫谈:一个简单的单线程基于epoll的echo服务器(附简单的性能测试)
摘要: 为什么使用epoll 这个是老生常谈了,四个字,多路复用,要不单线程只能停等排队。另外select和poll不如epoll强大好用。 程序结构漫谈 代码很简陋,基本属于玩具。但是还是随便谈谈。 在单线程模型下使用epoll,只能使用一个epoll的instance同时监听socket描述符和conn
阅读全文
posted @ 2020-02-25 21:37 joeyzzz
阅读(975)
评论(0)
推荐(0)
2020年2月17日
陈硕Linux多线程服务端编程读书笔记
摘要: 思维导图 一些收获 条件变量的虚假唤醒(spurious wakeup) 使用条件变量,可以让线程等待某个条件,从而进入睡眠,当由 其他线程所控制 的布尔表达式满足条件时,再由操作系统将其唤醒。条件变量的使用需要搭配一个互斥器,有一套几乎不变的范式 上面的代码提出了两个问题。先说问题1,条件变量在初
阅读全文
posted @ 2020-02-17 21:26 joeyzzz
阅读(1062)
评论(0)
推荐(0)
2020年2月8日
空悬指针和野指针
摘要: 前言 以前经常把这两个概念混为一谈,虽然这它们的概念类似,有一定的相似性,但是各自的成因和解决防范方法都是不同的,特记录在此。 空悬指针 定义 一个原生指针分配内存后,它并没有探测内存是否已经被释放或者被损坏的能力。当所管理的内存被释放后,若这个指针没有被销毁或置为NULL,它就成了一个空悬指针。
阅读全文
posted @ 2020-02-08 16:38 joeyzzz
阅读(546)
评论(0)
推荐(0)
陈硕Linux多线程服务端编程读书笔记 —— 第一章 线程安全的对象生命周期管理
摘要: muduo书第一章的思维导图(新窗口打开可以看大图) 线程安全的对象析构和回调(使用shared_ptr和weak_ptr) 注释是英文的(工地英语…) StockFactory.h StockFactory.cpp
阅读全文
posted @ 2020-02-08 16:19 joeyzzz
阅读(449)
评论(0)
推荐(0)
2019年8月15日
C++11标准库的一个工具类enable_shared_from_this<T>的作用及原理分析
摘要: 介绍 enable_shared_from_this类位于标准库的中,当一个类T公有继承它,如 类T会继承到一个公有方法 要在T类中使用该函数,是继承enable_shared_from_this类的唯一目标。 要解决的问题 如果一个程序中,对象内存的生命周期的全部由智能指针来管理。在这种情况下,要
阅读全文
posted @ 2019-08-15 15:46 joeyzzz
阅读(1772)
评论(0)
推荐(0)
2019年8月9日
STL的迭代器,前置++什么比后置++要快?
摘要: 内置类型的前置++和后置++ ` 换言之, 前置++和后置++的区别仅在于++运算符的返回值是自加过后的结果或者是自加之前的副本 在类中重载它们 可以看出,如果只是单纯的为了把私有变量i加一,后置++要使用一个tmp在函数栈上保存自加之前的类的副本,会造成额外的内存开销,没有必要,除非遇到了要保存自
阅读全文
posted @ 2019-08-09 10:15 joeyzzz
阅读(1243)
评论(1)
推荐(0)
2019年7月6日
为什么vector的capacity是按照2的指数来长的?
摘要: 结论 为了让push_back的均摊(amortized)时间复杂度为常数时间。 基础 首先我们都知道vector在size超过capacity的时候,会另寻2倍于capacity的堆空间,然后把原来的数据搬移到新空间上,再释放旧空间。在这个过程中,将原有的数据搬移到新空间是比较费时的操作,平均时间
阅读全文
posted @ 2019-07-06 18:01 joeyzzz
阅读(353)
评论(0)
推荐(0)
2019年6月20日
stackoverflow:Purpose of memory align/内存对齐的目的(原文+翻译)
摘要: 原文:https://stackoverflow.com/questions/381244/purpose of memory alignment 翻译:joey The memory subsystem on a modern processor is restricted to accessin
阅读全文
posted @ 2019-06-20 17:12 joeyzzz
阅读(540)
评论(0)
推荐(0)
上一页
1
2
3
公告