摘要: 容器有太多需要清楚细节的地方,同时也有太多值得学习的地方。下文作为学习、工作中用到vector的总结。 1. 赋值运算=的实现原理 在使用赋值操作时,如果不清楚内部是怎么实现,那么用起来会畏手畏脚。 先来看下stl_vector.h中对于=的重载函数。 从上述代码发现,上述代码处理了容量问题,却没有 阅读全文
posted @ 2017-07-16 19:29 chenhuan001 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 这就是一个纯虚析构函数,这种定义是允许的。 一般纯虚函数都不允许有实体,但是因为析构一个类的过程中会把所有的父类全析构了,所以每个类必有一个析构函数。 所以。纯虚析构函数需要提供函数的实现,而一般纯虚函数不能有实现 阅读全文
posted @ 2017-07-16 18:28 chenhuan001 阅读(1330) 评论(0) 推荐(0) 编辑
摘要: form here 用gdb 查看汇编代码, 采用disassemble 和 x 命令。 nexti, stepi 可以单步指令执行 如下例: 源代码: [root@hjj ~]# cat 1.c#include <stdio.h>int main(int argc, char *argv[]){ 阅读全文
posted @ 2017-07-16 11:47 chenhuan001 阅读(1054) 评论(0) 推荐(0) 编辑
摘要: 做项目的过程中,碰到一个问题。 问题可以抽象为下面的问题: 普通人吃饭拿筷子,小孩吃饭拿勺子。 输出结果: 当然这也符合我们的预期。 因为people不是虚函数,所以上述程序调用的是people中的eat方法,这就涉及到一个之前我一直模糊的概念,在一个类方法中调用虚方法,是如何调用的。 这又涉及到之 阅读全文
posted @ 2017-07-16 11:43 chenhuan001 阅读(1478) 评论(0) 推荐(0) 编辑