为什么在头文件的第一行放一个随机数?

Sar*_*aph 13 c c++

我无数次见过这个.代替

#ifndef _common_h_
#define _common_h_

#endif /* _common_h_ */
Run Code Online (Sandbox Code Playgroud)

人们有时会按以下格式定义头文件:

#ifndef _common_h__479124197491641974591
#define _common_h__479124197491641974591

#endif /* _common_h__479124197491641974591 */
Run Code Online (Sandbox Code Playgroud)

什么是随机数好?我只是无法成功谷歌任何答案.

das*_*ght 15

这个想法是让你无意中绊倒你的包括后卫,和/或避免触发别人的包括警卫.

例如,如果您正在编写库,并且您有一个Common.h标题,那么使用_common_h_保护可能会阻止您的库的用户_common_h_在他们自己的库中拥有警卫,这是不理想的.添加随机数会使这种碰撞几乎不可能.