我一直在C
的源文件的开头看到这样的代码#ifndef _INCLUDE_GUARDS_C
#define _INCLUDE_GUARDS_C
main()
{
}
function1()
{
}
#endif
function2()
{
}
我对此的目的感到困惑。?
我知道包含警卫是否在头文件中定义,但是
这些内容的目的是什么,包括源文件中的警卫?以及
为什么在包含警卫之外定义function2()?
答案 0 :(得分:6)
将包含保护放在C或C ++非标头源文件中没有任何好处。
我已经从头开始实施了一个预处理器,并且研究了一个人可以保护的内容,这完全没有意义。
至于守卫外面的功能,对我来说看起来很邋..或者,有时当某人有魔法咒语时,他们不确定何时适用,所以他们随机应用。
答案 1 :(得分:0)
老问题,但是......
我认为在测试代码时可以使用它。在测试时,您需要访问未在标题中定义的本地函数,因此您包含<div class="col-md-3 form-group">
<label>Ville de chargement</label>
<input type="text" class="form-control collectes-ville text-center" name="villeChargement" placeholder="Chargement">
<label>Ville de livraison</label>
<input type="text" class="form-control collectes-ville text-center" name="villeLivraison" placeholder="Livraison" value="">
</div>
<div class="col-md-3 form-group">
<label>Chargement mini</label>
<input type="text" id="datepicker" class="form-control collectes-date-chargement-min text-center" name="DebutChargement" placeholder="Date début chargement" value="">
<label>
<->
</label>
<input type="text" id="datepicker2" class="form-control collectes-date-chargement-min text-center" name="FinChargement" placeholder="Date fin chargement" value="">
</div>
</div>
文件...是的,它很难看。是的,你有better options!
对于未在标题中定义的功能,您不需要包含警示。