首先值得注意的是,我们平时写函数的时候,函数都是直接执行的。
现在我们有一个需求,那就是当我们在某一个场景的时候,我们需要执行这个函数,而在另外一个场景的时候,我们则不需要执行这个函数。而宏定义充分的满足了这个条件。
我们可以将这些函数封装成一个宏,同时再定义一个宏作为开启这些宏的开关,比如说DEBUG,只要当我们define了这个DEBUG宏的时候,就可以使用ifdef来条件编译一下之前封装的宏。只要定义了DEBUG这个宏,那么就会进行条件编译之前的函数,如果没有定义的话,那么就不会编译了。
所以其本质就是将宏定义取代了函数,具有了条件编译的特性。