奇思妙想 · 2024年 3月 20日 0

为什么不支持嵌套注释?

93 次浏览

既然是块注释,就没必要再里面继续嵌套注释了,因为都是注释,支持嵌套没有任何意义。从编译器实现看,词法分析就会处理注释,简单的发现/*作为注释起始符,一直忽略至*/是最简单的实现。

不支持嵌套注释 /* */

注意,多行注释内部用单行注释不算嵌套注释,这里特指多行注释内部用多行注释。

  • C/ObjC/C++/Java/C#/Kotlin 等。
  • HTML&XML 也不支持嵌套注释。

支持嵌套注释

  • Swift是一个反例,它明确支持嵌套注释。如下:

/*

  comment1

  /* comment 2 */

*/

  • Kotlin也支持多行注释内部嵌套多行注释。