作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我目前执行以下操作,编译器(MSVC2008/以及 2010)没有提示,但我不确定这是否是个坏主意:
#ifndef FOO_H_
#define FOO_H_
// note, FOO_H_ is not a comment:
#endif FOO_H_
我以前总是把它写成 #endif//FOO_H_
但我发现自己今天没有这样做,觉得这很奇怪,因为显然我已经有一段时间没有使用评论方法了。
我应该回头查看所有 header 并进行修复(这是一个跨平台应用程序)是一种不好的做法,还是可以保持原样?
最佳答案
严格来说(根据标准中的语法)在同一行的 #endif
指令之后不允许有任何标记(注释是可以的,因为它们在翻译阶段比预处理指令 - 第 3 阶段与第 4 阶段)。
但是,MSVC 似乎允许它 - 我不会继续寻求修复这些(因为它们不会引起问题),但可能会在修改具有的 header 时记下修复它们的问题他们。
当然,如果您的其他支持的编译器发出关于它们的诊断,修复它们可能更紧迫。
关于c++ - #endif 之后的代币合法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3461718/
我是一名优秀的程序员,十分优秀!