不同编程语言的注释不尽相同,有的用//, 有的用!, 有的用#, 各不相同。
不同形式的注释
- !
- Fortran
- --
- Ada
- //
- 最早BCPL,到C++/Java/C99, 基本所有C系编程语言都支持,JS也支持。
- #
- Shell和Python.
- /* */
- C系编程语言支持,JS也支持。
- (* *)
- Pascal.
- Windows批处理注释采用REM或::或% <注释> %.
注释嵌套
- C/C++/PHP 等都不支持多行注释嵌套,比如/* */, 嵌套并不会带来什么好处,反而带来更多复杂性。当编译器看到/*时认为是注释开始,又遇到了一个/*, 编译器是不是应该忽略它,应该不管忽略不忽略,从语法上都是注释...所以,编译器不如简单点,遇到/*后,就找下一个*/, 不管中间遇到什么都是注释的一部分。随着产生的问题是,/* /* */被认为的注释结束,后面再跟着 */就非法了。
- Swift支持/* */嵌套,例如 /* comment /* nest comment */ */.
如何测试编译器是否支持嵌套注释?
- C缺陷和陷阱 中提出了一个巧妙的方法:
int i = /*/*/0*/**/1;
如果i是0代表不支持,为1代表支持。 - Go语言一样可以用如上赋值运算符右边的表达式来检查。
注释和最终生成文件
- 一般而言,编译器会忽略注释,即不管代码中有多少注释,最终生成文件不会包含它。
若文章对您有帮助,欢迎关注 程序员小迷 。助您在编程路上越走越好!
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是 程序员小迷 (致力于C、C++、C#、Android、iOS、Java、Kotlin、Objective-C、Swift、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。