- 博客(4)
- 收藏
- 关注
原创 宏函数和函数的区别及优缺点
区别测试用例:宏函数:#define MAX(a,b) ((a)>(b)?(a):(b))普通函数:MAX(a,b) {return a>b?a:b}1.宏做的是简单的字符串的替换,而函数是参数的传递,参数是有数据类型的。2.宏的参数替换是直接替换的,不经任何计算,而函数调用时将形参的值传给形参。3.宏在编译之前进行(先用宏体替换宏名,再进行编译),而函数是在编译之后执行时
2017-07-31 16:14:20 11887
原创 内存对齐以及位域
首先我们大家先思考一个问题,为什么编译器会有内存对齐这种东西呢?原因有二:一.平台原因:某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。二.性能原因:如果访问的是未对齐的内存,处理器需要做两次内存访问;如果内存对齐,则处理器只需要做一次内存访问。许多计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常为
2017-07-29 17:08:44 236
原创 栈帧
一.理解栈帧栈帧是什么,其实我也不是很清楚,就算在听完学长讲的这节课我也很模糊。但通过这节课,我对栈帧有了一个大概的了解,栈帧就是当调用一个函数时它的内部是如何实现的。二.
2017-07-27 18:06:19 287
原创 模拟实现string
1.初始化成员列表高效在哪里对类类型来说,用初始化列表少了一次调用默认构造函数的过程,这对于数据密集型的类来说,是非常高效的。2.形参为const引用的好处a.当实参的类型比较大时,复制开销很大,引用会“避免复制”。b.“避免修改实参”,当使用引用时,如果调用者希望只使用实参并不修改实参,则const可以避免使用该引用修改实参。3.使用&的好处形参是对象的引用,是通过传地址
2017-07-05 11:48:27 356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人