自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 手撕c++ shared_ptr(字节跳动手写算法)

#include <iostream>#include <memory>using namespace std;namespace smart_pointer {template <typename T>struct defaultDeleter { void operator()(const T *ptr) { if(ptr) { delete ptr; ptr = nullptr; } }};template <

2020-07-01 20:05:56 2121 3

原创 10万并发的高性能c++ webserver设计与实现

简介 该项目使用c++11,参考muduo实现的静态web服务器。muduo网络库使用线程池+电平触发式epoll+NIO的Reactor模式实现。该项目汲取muduo的优点,并简化设计。采用线程池+边沿触发式epoll+NIO的Reactor模式实现,各个工作线程采用RR方式(Round Robin)来公平分配请求,同时引入了应用层心跳,来处理超时连接。该webserver支持长...

2019-12-22 17:52:30 5654 1

原创 Linux操作系统pipe()-execlp()-dup2()分析

Linux操作系统pipe()-execlp()-dup2()分析目标:使用Linux system call API实现sort | uniq | wc -l &lt; data.txt。涉及的知识点:使用C调用shell命令 使用管道,在各命令间通信 标准输入输出重定向execlp()执行shell command头文件:&lt;unistd.h&gt;函数原型...

2019-03-03 19:39:47 1281 1

原创 手撕c++ unique_ptr(字节跳动手写算法)

#include <iostream>#include <memory>using namespace std;namespace smart_pointer{template <typename T>struct defaultDeleter { void operator()(const T *ptr) { if(ptr) { delete ptr; ptr = nullptr; } }};templ

2020-07-01 20:59:23 1272 2

原创 C++底层设计--对象(成员布局、多态实现)

C语言中,数据和处理数据的操作是分开声明的,语言本身没有支持“数据和函数”的关联。C++中支持封装,在软件工程层面上看,比在C语言中使用全局数据好。C++支持封装性质,在不使用虚函数或抽象类时,不会带来额外的开销(空间、效率)。C++对象模型中,non-static成员数据放在每个对象中,而static成员数据放在所有对象外。且static和non-static成员函...

2019-07-22 21:21:22 275 1

原创 Linux操作系统select非阻塞操作socket分析

socket在很多应用常见下,单进程单线程,调用socket(),connect(),read(),write()等一套,对单个socket服务。但在多socket场景下,这样的方法行不通了。server会在accept()时阻塞,等待client连入,那么到底是监听端口8080先accept(),还是监听端口8086先accept()。这就需要引入非阻塞式轮询各个socket的状态,当他...

2019-04-21 09:58:39 955

原创 C++对象模型分析-继承原理解析

讨论主题:分析C++继承关系的实现原理。继承关系下的构造和析构构造由内而外。先调用基类Base的构造函数,但后执行自己的构造函数。析构由外而内。先析构自己,再调用Base的析构函数。值得注意的,base class的析构函数需要申明为virtual,否则在析构时,派生类仅析构基类,而析构自身,可能导致内存泄漏。class Base{ public:...

2019-02-25 13:06:16 208

原创 C++面向对象程序设计提高篇

讨论主题:泛型编程和面向对象编程。主要说明C++中模板的应用。类型转型转换函数,operator typename()转换构造函数,one-argument constructorexplicit关键字类的两种形式pointer-like classes,智能指针function-like classes, 仿函数模板类模板函数模板成员模板模板特化模板偏特化...

2019-02-24 16:54:34 170 1

原创 C++面向对象程序设计基础篇

Object Based 面对单一class设计&amp;amp;amp;gt; 经典分类Class without pointer member(s)complexClass with pointer member(s)string&amp;amp;amp;gt; complex例子Header(头文件)中防卫式声明#ifndef __COMPLEX__#define __COMPLEX__...#endif...

2019-02-22 18:20:36 326

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除