【发布时间】:2011-06-19 13:09:19
【问题描述】:
C++ 包含守卫通常是如何命名的?我经常看到这个:
#ifndef FOO_H
#define FOO_H
// ...
#endif
但是,我认为这不是很直观。如果没有看到文件名,就很难分辨出FOO_H 的用途以及它的名称所指的含义。
什么是最佳实践?
【问题讨论】:
-
虽然名称可能或多或少直观,但事实是,只要有一点经验,您就会停止阅读这些行。眼睛和大脑已经习惯了
#ifdef blahblah...,而我几乎没有真正阅读过正在检查的内容,它是一个包含防护。 -
对此有点有用的观点:stackoverflow.com/questions/1744144/…
-
任何从事 C++ 开发的人最好很快习惯于识别标头保护。它将始终遵循您所看到的标准。 “最佳”实践(在引号中,因为它是必需的)是先放置 ifndef,紧接着定义,然后在文件末尾完成它。我建议你尽快学会识别这一点。
标签: c++ c-preprocessor include-guards