海上月
C++的智能指针 C++的智能指针
C++的智能指针前言C++STL(Standard Template Library)一共提供了四种指针:auto_ptr、unique_ptr、shared_ptr 和 weak_ptr,其中auto_ptr是c++98提供的,C++
2024-11-30
if-else对比switch-case if-else对比switch-case
if-else对比switch-case在听CSAPP的Lecture 06 Machine Level Programming || Control的时候,里面老师回答学生问题时,说到switch-case在汇编层面会建立一个表,然后好奇
2024-07-02
C++疑难点 C++疑难点
C++疑难点什么人间绝味 无非情怀半碗 温柔几滴 往事一勺 乡愁少许 this指针调用成员函数时,成员函数通过一个名为 this 的隐式参数来访问调用它的那个对象,用请求该函数的对象地址初始化 this ,this 的指向总是自己这个对象,
2024-03-08
C++指针复习 C++指针复习
CPP指针深析指针对于初学者往往是很难以琢磨的东西,因为它并不如变量那么抽象,而是更贴近底层的真实结构。指针操作往往会出现各种各样的岔子,最常见的便是”segmentation fault”。所以这里辨析了各种指针类型,实践出真知,下面的例
2024-01-19
线程不安全版本的单例模式(详解) 线程不安全版本的单例模式(详解)
出发点保证一个类仅有一个实例,并提供一个该实例的全局访问点。 ——《设计模式》GoF 实现单例分为两种实现方法: 懒汉 第一次用到类实例的时候才会去实例化,上述就是懒汉实现。 饿汉 单例类定义的时候就进行了实例化。 懒汉模式的
2023-06-22
跟腾讯架构大师学网络框架与后台架构 跟腾讯架构大师学网络框架与后台架构
网络框架与后台架构单机服务1、单机服务:基本概念 2、单机服务:同步阻塞 3、单机服务:异步非阻塞框架使用非阻塞IO,检测到有事件 性能最高:不会阻塞IO,数据拷贝最少 4、单机服务:典型框架: 5、单机服务:协程框架 6、单机服务:
2023-06-20
string底层实现之SSO string底层实现之SSO
string底层实现之SSOstring的构造函数 参考资料 Simple String Optimization,最小字符串优化,基本原理是:当分配的字节数小于16字节的时候,直接从栈上进行进行内存分配,如果大于16字节,则在堆上进行
2023-06-20
Reactor模式理论支持 Reactor模式理论支持
目录 1. 前言 2、主要思想 3、三种不同的实现 单 Reactor 单线程 单 Reactor 多线程 主从 Reactor 多线程 1. 前言开始的服务端的设计是每一个连接都创建一个thread去处理,但是当请求开始变多了之后,
2023-06-20
I/O多路复用(select/poll/epoll) I/O多路复用(select/poll/epoll)
简单介绍这三种模式是为了在一个线程下面尽可能多的管理很多个socket。这三种模式在不同的需求下,有着各自的优势,select和poll差不多,但并不一定是说epoll是最好的。比如我们就写个简单的几个client连接下的情况,这个时候
2023-06-20
CPP指针的种类以及区别 CPP指针的种类以及区别
CPP指针空指针在C和C++中,用0和NULL都可以表示空指针 空指针误操作的后果:如果对空指针解引用,程序会崩溃,如果对空指针使用 delete 运算符,程序会忽略这个操作,不会出现异常,所以,在内存被释放之后也应该,把指针置为空指针
2023-06-20