摘要:
都忘记更新了 ,在 2018 年 11 月左右,自己搭了一个博客,后面都是在自己私人博客上更新了,欢迎来访!! 博客已经迁移出来了,欢迎继续访问:mikeblog.top/ 阅读全文
摘要:
5. 对定制的 "类型转换函数" 保持警觉 允许编译器执行隐式类型转换,害处多过好处,不要提供转换函数,除非你确定需要。 上述类型隐式转换可能导致错误(非预期)的函数被调用。解决方法 1.类似于C++ string 一样,添加一个函数专门做转换,类似string的c_str()转换string为co 阅读全文
摘要:
1. 仔细区分 pointers 和 references references和pointers的差别描述如下: pointer:当需要考虑"不指向任何对象"时,或者是考虑"在不同时间指向不同对象"的能力时,应该采用pointer。前一种情况可以将pointer设为null,后一种可以改变poin 阅读全文
摘要:
1. weak_ptr 介绍 std::weak_ptr 是一种智能指针,它对被 std::shared_ptr 管理的对象存在非拥有性("弱")引用。在访问所引用的对象指针前必须先转换为 std::shared_ptr。 主要用来表示临时所有权,当某个对象存在时才需要被访问。转换为shared_p 阅读全文
摘要:
今天发现一个很有意思的编译问题,然后在Stack Overflow上也有看到类似的。就是出现了 long long long 类型错误提示 错误提示如下: 顾名思义,一个long占4个字节,两个就是8字节,总共64位,等于系统是64位的,如果你使用3个long那就96位了,那肯定会有问题,正常情况下 阅读全文
摘要:
1. GOF 迭代器设计模式 前面一篇文章有写到stl_list的实现,也实现了一下相应的iterator,但是后面觉得,实现具体容器之前有必要介绍一下iterator(迭代器) 。那么迭代器是什么呢? GOF的设计模式是这样定义的: 提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的 阅读全文
摘要:
1. stl_list 介绍 今天我们来总结一下stl_List, 通过之前介绍单链表的文章,其实对链表的基本操作已经十分熟悉了,那对于stl_list,无非就是链表结构不一样,至于其中的增删改查的细节实现本质是一样的,都是处理指针偏移。相比于vector,stl_List在插入和删除的时候可以达到 阅读全文
摘要:
1. 内存基本介绍 1.计算机基本结构: 电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备、输出设备、存储器、运算器和控制器 如图: 输入设备:键盘鼠标等 CPU:是计算机的运算核心和控制核心,让电脑的各个部件顺利工作,起到协调和控制作用。 存储器:一系列的存储设备,硬盘,内存等 输出设备:如 阅读全文
摘要:
1. allocator 基本介绍 分配器(allocator))是C ++标准库的一个组件, 主要用来处理所有给定容器(vector,list,map等)内存的分配和释放。C ++标准库提供了默认使用的通用分配器std::allocator,但是,也可以由程序员自己提供自定义分配器。 2. all 阅读全文
摘要:
Linux 命令 1. 查看系统信息 1.uname uname (1) print system information uname (2) get name and information about current kernel 2.cat /proc/version 2. 查询可用内存 fr 阅读全文