
c/c++
文章平均质量分 79
printfnothing
这个作者很懒,什么都没留下…
展开
-
头文件重复包含和变量重复定义
在c或c++中,头文件重复包含问题是程序员必须避免的问题,也是很多新手容易犯错的问题。为什么要避免头文件重复包含呢? 1.我们知道在编译c或c++程序时候,编译器首先要对程序进行预处理,预处理其中一项工作便是将你源程序中#include的头文件完整的展开,如果你有意或无意的多次包含相同的头文件,会导致编译器在后面的编译步骤多次编译该头文件,工程代码量小还好,工程量一大会使整个项原创 2015-12-18 20:42:21 · 19612 阅读 · 6 评论 -
new,malloc和::operator new
运行程序离不开内存管理,c内存管理离不开malloc和free,c++内存管理离不开new和delete。虽说都是为了申请内存和释放内存,但new和malloc还是有区别的,这里总结下:两者联系自不必多说,都是为了在堆上动态的申请和释放内存。区别在于:1.new和delete属于操作符,而malloc和free其实是两个系统函数。2.new在申请内存时候返回的是指定类型的指针,原创 2016-01-04 15:08:55 · 3686 阅读 · 0 评论 -
STL之vector
今天研读了下侯大师的《STL源码剖析》关于vector容器的章节,在这里总结下它的数据管理策略以及一些用法上的注意点。以下代码参考自《STL源码剖析》。vector容器属于序列式容器,其数据安排和操作方式,与数组十分相似,但是数组管理的是静态空间,vector对于空间的运用更加灵活。//stl_vector.htemplate class vector{public://v原创 2016-02-27 19:45:03 · 373 阅读 · 0 评论