{}和//之间的区别是什么?

8

{}// 都是用于根据大小添加注释吗?

抱歉问一个愚蠢的问题,但每当我尝试谷歌搜索“{} // Delphi”时,我都会得到指向Delphi.com和维基百科的随机信息链接。


你的主要问题的解决方案可以在这里找到:https://dev59.com/wmEi5IYBdhLWcg3wUK2C - David Heffernan
1
你试过谷歌搜索“Delphi注释”吗? - Andreas Rejbrand
4个回答

26

有三种方式向Delphi源代码文件中添加注释:

{ This can be a single line comment }

{   but it can also span multiple lines
}

// Single line comment

单行注释在行末结束。其他类型的注释则有自己的结尾。

(* This also can be a single comment *)

(* And it also can span multiple lines
*)

{ Can be used to comment out code containing a (* comment *)
  // Or one of those 
}
(* Can be used to coment out code containing a { comment } 
   // Or one of those 
 *)

// And this can contain the (* Single *) version of the { other } comments.

没有真正的区别。但是有些人会保留一种注释样式来(暂时)注释掉代码。因为你不能嵌套相同类型的注释,但可以嵌套不同类型的注释。

有趣的是,(* *)注释被包括在内,以支持(真正的)旧键盘没有{和}。您也可以使用(. .)代替[]。


9
{} 也用于编译器指令。通常使用 (* *) 注释掉包含 { } 注释的部分,因为它们的优先级低于 {}。 - Kromster
6
{}(**) 不仅限于多行注释。 - Sir Rufo

15

首先要查看的地方是文档。

DELPHI:基本语法元素-注释和编译器指令


注释和编译器指令

编译器会忽略注释,除非它们作为分隔符(用于分隔相邻的标记)或编译器指令。

有几种构建注释的方式:

{ Text between left and right braces is a comment. }
(* Text between left-parenthesis-plus-asterisk and an 
 asterisk-plus-right-parenthesis is also a comment *)
// Text between double-slash and end of line is a comment.

相同类型的注释不能嵌套。例如,(*{}*)是可以的。这种形式适用于将包含注释的代码段注释掉。
以下是有关如何以及何时使用三种类型的注释字符的建议:

  • 使用双斜杠 (//) 注释掉开发过程中所做的临时更改。您可以使用代码编辑器方便的 CTRL+/ (斜杠) 机制,在工作时快速插入双斜杠注释字符。
  • 使用括号星号 (*...*) 对于开发注释和注释包含其他注释的代码块。这种注释字符允许编译器移除多行源代码,包括其他类型的注释。
  • 使用大括号 ({}) 进行源代码中的文档注释。

包含美元符号 ($) 的注释在开头为 {(* 的情况下是编译器指令。例如,

{$WARNINGS OFF}

告诉编译器不生成警告信息。


例子

// single line comment

WriteLn( { inline comment } 'hello' );

{ multi
  line
  comment }

5

如果我说错了,请纠正我,但我认为这可能会对你有所帮助:

//This is a single line comment.

{
Multiple line
comment.
}

(*
This too is a
multiple line comment.
*)

0

{ } 是创建块注释的方法。块注释是人们在要求类似C和Pascal这样的块导向语言时同时要求的功能。在此之前,人们使用基于行的语言,如BASIC、FORTRAN和COBOL,其中语言的基本结构元素是行,没有BEGIN-END块。

基于行的语言有注释标识符,如“REM”、“REMARK”、“C”、“COMMENT”或;或:或'。当他们想要注释掉一段代码块时,人们非常厌倦在每行前面加上'C'。如果他们想要这样做,他们必须重新打孔每张卡片,或者最多只能使用行编辑器,而不是屏幕编辑器。

一旦人们获得了像C和Pascal这样只有块注释的语言,他们意识到他们真正错过了行注释。行注释之所以在块注释之前发明,是因为行注释实际上比块注释更有用。

因此,行注释//被添加回C++中,并从那里进入C和Delphi。


“Single-line Comments” 出现在 Delphi 2 中。从 TurboPascalDelphi 1,编译器只接受“块注释”。 - Paulo França Lacerda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接