尽管说define有很多不足之处,很多时候我们需要使用const来替代define, 也可以使用typedef来替代define。
但是,在一些实际工程中,我们还是不可避免的使用到了define,这给我们带来了极大的方便。
1 定义头文件,防止重复包含
其实不是真正的防止重复包含头文件,而是忽略除了第一次之外的其他包含:
http://blog.csdn.net/wangshubo1989/article/details/48310681
#ifndef WANGSHUBO_BASE_H_
#define WANGSHUBO_BASE_H_
...
#endif // WANGSHUBO_BASE_H_
2 定义变量
#define WANGSHUBO_SELF_MSG WM_USER + 29
static const std::string kDate = "2016-11-25";
3 分平台实现
对于一些快平台开发,完全可以使用define来包含不同的文件,或是实现不同的功能:
#if (MY_PLATFORM == MY_PLATFORM_WIN32)
#include <regex>
#include "sakura/win32/compact/dirent.h"
#endif
#if (MY_PLATFORM == MY_PLATFORM_IOS) || (MY_PLATFORM == MY_P