大家都知道#define一旦定义,全局都可以使用,这是没错的。
很多人为了方便,喜欢把很多东西都定义成全局#define的方式,这种做法是不可取的。
因为一旦定义#define的方式,整个工程将被重新编译,这样带来的时间浪费可想而知。
有些人不以为然,觉得编译时间一般都很短,不用在意,那其实只是你运行的工程都比较小的缘故罢了。
当运行大工程,特别是文件比较多,资源比较多的时候,这样的重新编译,真的让人抓狂。
那么,什么样的数据用#define比较合适,什么样的数据不用呢?
一般说来,经常变动的数据或者数据群体不合适用#define。比如说,网址url,很多人喜欢用#define直接定义url,带来方便的同时也产生不少麻烦。虽然单一的url本身变化比较小,但是每添加一个url,就要#define一个。如果url错了,重新修改后,又得重新编译。这是一件很烦的事情。
所以,经常变动的数据或者数据群体不合适用#define。