宏初识
来源:互联网 发布:c 数字图像处理算法 编辑:程序博客网 时间:2024/06/08 02:34
我现在学东西仍停留在知其然而不知其所以然的阶段,工作催赶着要优先得到结果,而不关心实现过程。最好就是能直接在Github上找到合适的代码粘过来用。这样做的缺点很明显,就像搬砖的工人,只能有一些工程经验,也许能保证东西好用,但美丑就不再控制范围内了。自己的孩子不听自己的话让人无可奈何的懊恼,希望未来有一天能知其所以然,成为算法设计师。
这里总结一点关于宏的小经验,未来再学习为什么宏要这样用:
1.取代Magic Number,程序中有意义的常量可以用宏代替。(为什么不是Global?)
2.防止重定义(#ifndef…else…#endif)
3.编译宏(在某些系统下,可以把宏定义传递给编译器,目前没有遇到)
4.应尽量避免使用宏函数(极容易出现难以预料的问题)
5.宏函数(用于简化操作,前提是展开前后代码量相差不大,即很小的函数,可以看做是用于代码生成)
6.效率方面,宏函数>内联函数>普通函数(但是一定不要因为效率问题使用宏,付出的代价很高)
7.某些时候可以做一些函数不能做的事:
#define fun(dst, src) strcpy(dst, #src)//fun(buff,abc) 相当于 strcpy(buff,“abc”)#define fun(arg) my##arg//fun(ABC) 相当于 myABC#define fun(a,b) a=#@b//fun(x,y) 相当于 x='y'
阅读全文
0 0
- 宏初识
- 初识
- 初识
- 初识
- 嵌入式 初识内核中EXPORT_SYMBOL宏
- js初识,博客初识
- TableLayout初识初识
- 初识Blog
- 初识CAA
- 初识JVM
- 初识SmartClient
- 初识HTC
- 初识JSTL
- JMX初识
- 初识Linux
- 初识流媒体
- 初识BREW
- 初识接口
- TensorFlow与OpenCV,读取图片,进行简单操作并显示
- C语言判断文件夹或者文件是否存在以及权限等信息access函数和删除文件或目录 remove()函数使用实例
- 大国崛起:数据库领域的中国力量
- 52. N-Queens II
- 场景化应用全面铺开 2017成为人工智能商业化元年
- 宏初识
- java was started but returned exit code =-805306369
- Three.js学习创建物体
- Spring MVC 文件上传
- 查看一个库的依赖
- 显著性检测的四种经典方法
- 初学HBuilder+mui
- Android studio 突然没有了svn的相关菜单了
- 利用互联检测改善智能城市的环境和资产负债表---凯利讯半导体