注意细节和习惯(三)
来源:互联网 发布:看电脑硬件的软件 编辑:程序博客网 时间:2024/06/03 19:46
1,void* 在c语言中的使用,类似于C++的模板类。
2,别的模块没有显式使用的函数、变量等,都应该放在实现文件,定义成static,避免造成命名污染。
3,没有必要的情况下,不可以在头文件中放其他的头文件,容易造成命名污染,难查bug,而且编译也慢。如果有很多的实现文件需要共用一些东西,可以用一个专门的头文件放,也可以放内部的inline函数。
4,在头文件里,一般只放inline函数,
5,用宏,展开时可以很灵活地生成各种代码,
/**
* 此句声明了一个钩子集:两个函数,和一个函数类型
* 1。要求钩子函数统一用此种形式int func(args),成功返回0,失败返回其它值。
* 2。reghook_xx(func)注册到这个钩子函数链末尾,成功返回0,若超过最大钩子数限制则返回-1
* 3。runhook_xx(args)顺序运行这个钩子函数链,全部运行成功返回0,某钩子函数有失败则即时返回其它值
*/
#define DECLARE_HOOK(name, args) /
typedef int hook_##name##_t args; /
int reghook_##name(hook_##name##_t pf); /
int runhook_##name args;
3。更强的用法,请参考php源码,引用少数宏即完成几十个函数的声明、实现………………
#ifdef _cplusplus
extern "C" {
#endif
#ifdef _cplusplus
}
#endif
以后写完程序,先不要运行,在脑子里走三遍再说,否则,浪费时间调试.
- 注意细节和习惯(三)
- 注意细节和习惯(一)
- 注意细节和习惯(二)调试
- 注意细节和习惯(四)
- 需要注意的开发规范和习惯
- hdoj 1017 (注意细节)
- 乐学成语实现之三:显示学习列表(注意ListView的细节优化)
- 注意细节之AppSettings和ConnectionStrings
- python 中的r+和w+注意细节
- 注意细节
- 注意细节
- 注意细节
- 注意细节
- 注意细节
- 注意细节
- 细节和感觉[三]:感觉
- 学生信息管理系统(三)----整体和细节
- (四十三)UITabBarController和AppDelegate的一些细节
- 上線了....就在今天(2011/04/06)
- c++ - 为什么空类实例大小不是0
- 逃避不是好办法
- NYOJ110 剑客决斗 【动态规划DP】
- asp.net用UrlEncode怎么写代码来实现对IE地址栏的地址进行编码"加密"
- 注意细节和习惯(三)
- Skyline ---VS--- EV-Globe
- DataSet 更新数据库 微软自己写的例子
- linux 下获取本地IP地址
- ibatis2中的一对多和一对一映射
- 我想做自己的主人!
- 【转】php几个数组函数
- 初探C/C++ {0}式 初始化
- 无法打开数据库 'msdb'。恢复操作已将该数据库标记为 SUSPECT解决方法