上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 60 下一页
摘要: 引文:C++对指针的管理提供了两种解决问题的思路:1.不允许多个对象管理一个指针2.允许多个对象管理一个指针,但仅当管理这个指针的最后一个对象析构时才调用deleteps:这两种思路的共同点就是只允许delete一次,下面将讨论的shared_ptr就是采用思路1实现的ps:智能指针不是指针,而是类,可以实例化为一个对象,来管理裸指针1.shared_ptr的实现原理:shared_ptr最本质的... 阅读全文
posted @ 2019-09-21 16:23 西*风 阅读(2113) 评论(0) 推荐(0)
摘要: 1.scoped_ptr的实现原理及特性特性:scoped_ptr和auto_ptr类似,但最大的区别就是不能转让管理权限,也就是说scoped_ptr禁止用户进行拷贝和赋值实现原理:如何才能禁止一个类进行拷贝和复制呢?我们只需要将类的拷贝构造函数和赋值运算符重载的访问限定符设置为私有的可以样例如下:class ScopedPtr{private: ScopedPtr(const Scope... 阅读全文
posted @ 2019-09-18 17:34 西*风 阅读(723) 评论(0) 推荐(0)
摘要: 背景介绍: RAll机制 定义一个类来封装资源的分配和释放,在构造函数中完成资源的分配和初始化,在析构函数中完成资源的清理,从而保证资源的正确初始化和清理ps:智能指针就是RAll机制的一种应用,智能指针从根本上来说是一个对象1.auto_ptr是什么?auto_ptr是C++标准库提供的类模板,auto_ptr对象通过初始化指向由new创建的动态内存,它是这块内存的拥有者,一块内存不能同时被... 阅读全文
posted @ 2019-09-18 11:34 西*风 阅读(1715) 评论(0) 推荐(0)
摘要: 菱形继承问题样例:#include using namespace std;class A{ public: int x=4; virtual int getx() { return x; }};class B:public A{};class C:public A{};class D:public B,public C{};int main(){ ... 阅读全文
posted @ 2019-09-17 20:21 西*风 阅读(586) 评论(0) 推荐(0)
摘要: C++目前使用的对象模型: 此模型下,nonstatic数据成员被置于每一个类的对象中,而static数据成员则被置于类对象之外,static和nonstatic函数也都放在类对象之外(通过函数指针指向),而对于virtual函数,则通过虚函数表+虚函数指针来支持: 1)每个类生成一个表格,称为虚表 阅读全文
posted @ 2019-09-17 20:09 西*风 阅读(812) 评论(0) 推荐(0)
摘要: 继承:通过扩展已有的类来获得新功能的代码重用方法组合:新类由现有类的对象合并而成的类的构造方式何时用继承?何时用组合?1.如果二者间存在一个“是”的关系,并且一个类要对另外一个类公开所有接口,那么继承是更好的选择2.如果二者间存在一个“有”的关系,那么首选组合ps:没有找到极其强烈无法辩驳的使用继承的利用的时候,一律采用组合组合体现为现实层面,继承主要体现在扩展方面如果并不是需要一个类的所有东西(... 阅读全文
posted @ 2019-09-17 15:18 西*风 阅读(1536) 评论(0) 推荐(0)
摘要: static关键字的用法: 1)将全局变量修饰为静态全局变量 存储在静态存储区,整个程序运行期间一直存在 静态全局变量在声明它的文件之外是不可见的,只要声明它的文件可见,而普通的全局变量则是所有文件可见 2)将局部变量修饰为静态局部变量 存储在静态存储区 作用域仍为局部作用域,但是当局部变量离开作用 阅读全文
posted @ 2019-09-17 11:21 西*风 阅读(1666) 评论(0) 推荐(0)
摘要: 主要从三个方面进行分析:1.事件处理模式2.并发模式一.事件处理模式1.Reactoor模式定义: 主线程只负责监听文件描述符上是否有事件发生,有的话立即将该事件通知工作线程,除此之外,主线程不做任何实质性的工作,读写数据,接受新的连接以及处理客户请求均在工作线程中完成样例: 使用同步IO模型epoll_wait为例实现Reactor模式的工作流程:1).主线程往epoll内核事件表中注册so... 阅读全文
posted @ 2019-09-05 15:06 西*风 阅读(465) 评论(0) 推荐(0)
摘要: 本文内容: 1.Redis服务器保存数据库的方法 2.客户端切换数据库的方法 3.数据库保存键值对的方法 4.数据库的添加,删除,查看,更新操作的实现方法 5.服务器保存键的过期时间的方法 6.服务器自动删除过期键的方法 7.服务器的复制模式 8.数据库通知功能的实现方法 1.服务器中的数据库 1. 阅读全文
posted @ 2019-08-19 21:11 西*风 阅读(747) 评论(0) 推荐(0)
摘要: 给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1说明:你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/first-missing-... 阅读全文
posted @ 2019-08-19 20:38 西*风 阅读(428) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 60 下一页