摘要: 什么是单例模式?单例模式指在整个系统生命周期里,保证一个类只能产生一个实例,确保该类的唯一性。 单例模式分类有哪些?单例模式可以分为懒汉式和饿汉式,两者之间的区别在于创建实例的时间不同:懒汉式:指系统运行中,实例并不存在,只有当需要使用该实例时,才会去创建并使用实例。(这种方式要考虑线程安全)饿汉式 阅读全文
posted @ 2023-06-05 17:03 韓さん 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 浅拷贝:简单的复制拷贝操作 P1的生命周期结束后,判断m_PtrAge是否为空,很明显m_PtrAge的值是0x0100,不为空,释放m_PtrAge指向的内存;P2的生命周期结束后,同样判断m_PtrAge是否为空,很明显m_PtrAge的值也是0x0100,也不为空,再次释放m_PtrAge指向 阅读全文
posted @ 2023-06-05 11:32 韓さん 阅读(8) 评论(0) 推荐(0) 编辑
摘要: weak_ptr虽然是智能指针,但实际上是作为shared_ptr的辅助指针使用。weak_ptr通常不单独使用,一般用于查看对应的shared_ptr的信息。weak_ptr没有重载*,->等指针运算符。weak_ptr对象不会影响shared_ptr对象的引用计数。 #include<iostr 阅读全文
posted @ 2023-06-05 10:55 韓さん 阅读(22) 评论(0) 推荐(0) 编辑
摘要: C++内存资源管理不当。比如:(1) 有些内存资源已经被释放,但指向它的指针并没有改变指向(成为了野指针),并且后续还在使用;(2) 有些内存资源已经被释放,后期又试图再释放一次(重复释放同一块内存会导致程序运行崩溃);(3) 没有及时释放不再使用的内存资源,造成内存泄漏,程序占用的内存资源越来越多 阅读全文
posted @ 2023-06-05 10:23 韓さん 阅读(30) 评论(0) 推荐(0) 编辑
摘要: #include<iostream> #include<string.h> #include<stdio.h> using namespace std; class String { public: String(const char *str = NULL); //普通构造函数 String(co 阅读全文
posted @ 2023-06-04 23:49 韓さん 阅读(18) 评论(0) 推荐(0) 编辑
摘要: C/C++编译的程序所占用内存区域一般分为以下5个部分: (1) 栈区:由编译器自动分配和释放,用来存放函数形参、函数局部变量、局部变量 (2) 堆区:一般由程序员分配和释放,malloc、free、calloc、realloc (3) 静态存储区:全局变量、静态全局变量、静态局部变量 (4) 常量 阅读全文
posted @ 2023-06-04 23:02 韓さん 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 多态就是多种形态,C++的多态分为静态多态与动态多态。动态多态就是通过继承重写基类的虚函数实现的多态,在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。 多态的总结:(1) 用virtual关键字声明的函数叫做虚函数,虚函数肯定是类的成员函数 阅读全文
posted @ 2023-06-04 22:21 韓さん 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 前面我们讨论了select、poll和epoll三组I/O复用系统调用,这三组系统调用都能同时监听多个文件描述符。它们将等待由timeout参数指定的超时时间,直到一个或多个文件描述符上有事件发生时返回,返回值是就绪的文件描述符的数量。返回0表示没有事件发生。现在我们从事件集、最大支持文件描述符数、 阅读全文
posted @ 2023-06-04 20:42 韓さん 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 即使我们使用ET模式,一个socket上的某个事件还是可能被触发多次,这在并发程序中就会引起一个问题,比如一个线程在读取某个socket上的数据后开始处理这些数据,而在数据的处理过程中该socket上又有新的数据可读,此时另外一个线程被唤醒来读取这些新的数据,于是就出现两个线程同时操作一个socke 阅读全文
posted @ 2023-06-04 20:28 韓さん 阅读(225) 评论(0) 推荐(0) 编辑
摘要: epoll: epoll是Linux特有的IO复用函数,被认为性能最好的一种方法,它和select、poll在实现和使用上有很大差异:1.使用一组函数来完成,而不是单个2.把用户关心的文件描述符上的事件放在内核的一个事件表中,无须向select、poll那样每次调用都要重复传入文件描述符集或事件集, 阅读全文
posted @ 2023-06-03 23:01 韓さん 阅读(31) 评论(0) 推荐(0) 编辑