我在头文件中有这样一个宏定义:
// header.h
ARRAY_SZ(a) = ((int) sizeof(a)/sizeof(a[0]));
这是在一些头文件中定义的,其中包含更多的头文件。
现在,我需要在一些没有其他原因包含 header.h
或 header.h
中包含的任何其他头文件的源文件中使用此宏,所以我应该在我的源文件中重新定义宏,还是只包含头文件 header.h
。
后一种方法会影响代码大小/编译时间(我认为是),还是运行时(我认为不会)?
您对此的建议!
最佳答案
包含头文件或将其分解成更小的单元,并将其包含在原始头文件和您的代码中。
至于代码大小,除非您的 header 做了一些非常不明智的事情,比如声明变量或定义函数,否则它们不应该对内存占用产生太大影响,如果有的话。它们会在一定程度上影响您的编译时间并污染您的 namespace 。
关于c++ - 使用头文件中定义的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2592552/