c/c++
coolboywjun
这个作者很懒,什么都没留下…
展开
-
C语言变长数组data[0]【总结】
1、前言 今天在看代码中遇到一个结构中包含char data[0],第一次见到时感觉很奇怪,数组的长度怎么可以为零呢?于是上网搜索一下这样的用法的目的,发现在linux内核中,结构体中经常用到data[0]。这样设计的目的是让数组长度是可变的,根据需要进行分配。方便操作,节省空间。 2、data[0]结构 经常遇到的结构形状如下: struct buffer { i转载 2017-06-13 14:54:26 · 487 阅读 · 0 评论 -
c语言设计模式
详见参考百度文库:https://wenku.baidu.com/view/36959610763231126edb1176.html原创 2017-06-14 14:42:36 · 609 阅读 · 0 评论 -
c++ list, vector, map, set 区别与用法比较
List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。 Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速度慢得多,因为可能要遍历整个链表才能做到,但是对于插入就快的多了,不需要拷贝和移动数据,只需要转载 2017-06-15 10:17:47 · 318 阅读 · 0 评论 -
一个例子彻底搞懂c++虚函数和纯虚函数
学习C++的多态性,你必然听过虚函数的概念,你必然知道有关她的种种语法,但你未必了解她为什么要那样做,未必了解她种种行为背后的所思所想。深知你不想在流于表面语法上的蜻蜓点水似是而非,今天我们就一起来揭开挡在你和虚函数(女神)之间的这一层窗户纸。 首先,我们要搞清楚女神的所作所为,即语法规范。然后再去探究她背后的逻辑道理。她的语法说来也不复杂,概括起来就这么几条转载 2018-01-29 17:35:55 · 5978 阅读 · 1 评论