随笔分类 -  C++学习笔记

摘要:高效并发编程 并发编程的基本模型包括,通过消息机制来管理运行顺序的message passing, 通过互斥保护共享的shared memory。 线程同步的基本原则 1. 最低限度共享变量,考虑使用immutable对象 2. 尽量减小锁粒度 3. 互斥器和条件变量足以完成绝大多数任务,尽量使用高 阅读全文
posted @ 2018-04-29 15:02 joeylee97 阅读(2313) 评论(0) 推荐(0)
摘要:线程安全的对象生命期管理 解决对象构造的线程安全 当我们需要动态分配对象时( 懒加载 ), 如果在多个线程中运行这一部分代码,可能出现多次初始化的问题。 单例模式 c++ 11 之后static 变量的初始化是线程安全的。可以利用静态变量来实现单例模式,解决重复初始化的问题。 std::call_o 阅读全文
posted @ 2018-04-29 14:24 joeylee97 阅读(355) 评论(0) 推荐(0)
摘要:注意在成员列表中初始化的顺序并不是列表顺序 而是: 在类中声明的顺序! 这里决定的。。。 在成员初始化列表中有前后顺序依赖的时候一定要注意! 阅读全文
posted @ 2018-04-24 17:27 joeylee97 阅读(423) 评论(0) 推荐(0)
摘要:c++ 高性能日志库(muduo_AsyncLogging) 实现一个高效的网络日志库要解决那些问题? 首先明确一下问题的模型,这是一个典型的多生产者 单消费者问题,对于前端的日志库使用者来说,应该做到非阻塞添加,作为后端的文件写入,应该注意磁盘IO的瓶颈。 功能需求 1. 日志的级别分级 2. 发 阅读全文
posted @ 2018-04-19 21:22 joeylee97 阅读(4015) 评论(0) 推荐(1)
摘要:c++ 实现 key value缓存数据结构 概述 最近在阅读Memcached的源代码,今天借鉴部分设计思想简单的实现了一个keyvalue缓存。 哈希表部分使用了unordered_map,用于实现LRU算法的双向链表嵌套在缓存类中实现。 LRU 算法 LRU算法又称为last least us 阅读全文
posted @ 2018-04-12 20:18 joeylee97 阅读(4123) 评论(0) 推荐(0)
摘要:从零开始写STL 容器 list List 是STL 中的链表容器,今天我们将通过阅读和实现list源码来解决一下问题: List内部的内存结构是如何实现的? 为什么List的插入复杂度为O(1)? 为什么List的size()函数复杂度为O(n)? list 容器的幕后英雄 list 结点 作为一 阅读全文
posted @ 2018-03-12 16:08 joeylee97 阅读(415) 评论(0) 推荐(0)
摘要:从0开始写STL—容器—vector vector又称为动态数组,那么动态体现在哪里?vector和一般的数组又有什么区别?vector中各个函数的实现原理是怎样的,我们怎样使用会更高效? 以上内容我们将通过写一个自己的vector来进行学习 typedef 简析 在容器类的最前面我们会看到许多的t 阅读全文
posted @ 2018-03-12 11:53 joeylee97 阅读(937) 评论(0) 推荐(0)
摘要:https://github.com/joeyleeeeeee97 目录: 第二章 空间适配器 第三章 迭代器 第四章 序列式容器(vector,list,deque,stack,heap,priority_queue,slist) 第五章 关联式容器(树的算法 + RB_tree ,set,map 阅读全文
posted @ 2017-07-27 10:54 joeylee97 阅读(1618) 评论(0) 推荐(0)
摘要:动态内存:之前的程序使用对象有着严格定义的生存期,会自动销毁。C++支持动态分配对象,动态分配对象的生存期和他们在哪里创建是无关的,只有当显式的被释放,这些对象才会销毁。标准库定义了智能指针对象可以自动释放内存。new在动态内存中分配空间并且返回一个指向该对象的指针,delete接受一个动态对象的指 阅读全文
posted @ 2017-04-25 21:04 joeylee97 阅读(143) 评论(0) 推荐(0)
摘要:拷贝 赋值 销毁 拷贝构造函数 如果一个构造函数第一个参数是自身的引用,而且任何额外参数都有默认值,则此构造函数是拷贝构造函数拷贝构造函数的第一个类型必须是引用:如果参数不是引用类型,那么调用不会成功——为了调用拷贝构造函数我们必须拷贝他的实参,而拷贝实参又要调用拷贝构造函数 如果没有类定义拷贝构造 阅读全文
posted @ 2017-04-25 21:03 joeylee97 阅读(201) 评论(0) 推荐(0)