随笔分类 - C++
摘要:C:内存基本上分为4部分:静态存储区、堆区、栈区以及常量区。 C++:内存分成5个区,分别是堆、栈、全局/静态存储区、常量存储区和代码区; 内存四区是指:栈区,堆区,全局区,代码区。 栈区: 编译器在需要时分配,不需要时自动清除变量的存储区。 局部变量、函数参数..主要用来存放方法中的参数,一些临时
        阅读全文
                
摘要:select, poll, epoll的区别 系统调用 select poll epoll 事件集合 用户通过3个参数分别传入感兴趣的可读,可写,异常等事件 内核通过对这些参数的在线修改来反馈其中的就绪事件 =>用户每次调用select都需要重置这3个参数 统一处理所有事件类型,只需一个事件集参数 
        阅读全文
                
摘要:1. epoll简介: epoll是Linux内核的可扩展I/O事件通知机制。于Linux 2.5.44首度登场,它设计目的旨在取代既有POSIX select与poll系统函数,让需要大量操作文件描述符的程序得以发挥更优异的性能(举例来说:旧有的系统函数所花费的时间复杂度为O(n),epoll的时
        阅读全文
                
摘要:case: class A { public: int GetValue() const { vv = 1; return vv; } private: int vv; }; 对以上代码进行修改可以采取两种方式: 改变成员变量"vv"为"mutable int vv": 改变成员函数"GetValu
        阅读全文
                
摘要:1. 对于序列型容器:vector, deque 删除当前元素:从当前位置到之后全部位置迭代器失效;(可以用 it=res.erase(it); 来实现迭代器的更新追踪) 添加一个元素:当添加元素后,导致了容器扩容的操作,则全部迭代器失效;(可以用 it=res.push(it);) 插入一个元素:
        阅读全文
                
摘要:lock_guard: 一个互斥量包装程序,提供了一种RAII风格的机制来再作用域块的持续时间内拥有一个互斥量; 创建该对象时,它会去获取提供给它的互斥锁的所有权,当控制流离开该对象作用域时,lock_guard析构并释放互斥量。 lock_guard本身并没有提供加锁和解锁的接口(实际存在需求,只
        阅读全文
                
                    
                
浙公网安备 33010602011771号