也许我错过了一些东西,但我想知道以下内容:
在关于编码指南的Mozilla开发人员页面中,我阅读了以下内容:
无论何时在没有任何上下文的情况下检索或设置单个值,都应使用属性.当您可以使用一个属性时,请勿使用两种方法.使用属性在逻辑上连接值的获取和设置,并使脚本代码看起来更清晰.
这个例子有太多方法:
Run Code Online (Sandbox Code Playgroud)interface nsIFoo : nsISupports { long getLength(); void setLength(in long length); long getColor(); };下面的代码将生成完全相同的C++签名,但更适合脚本.
Run Code Online (Sandbox Code Playgroud)interface nsIFoo : nsISupports { attribute long length; readonly attribute long color; };
我在想的是attribute long length.我假设这个语法通过aucomatically创建getter/setter方法.
tem*_*def 12
Mozilla使用一种名为IDL(接口定义语言)的语言来定义多语言上下文中使用的对象的接口,例如C++和JavaScript.它汇编成这两种语言的代码,因此允许在项目上工作的开发人员可以在他们想要的语言中为他们的接口定义单一的定义.所以不,这不是标准的C++代码; 这是完全不同的东西.
在相关的说明中,interface和readonly也不是C++关键字.:-)