0

我创建了一个 FireFox 插件,但注意到它在 FireFox 3.6 上停止工作显然,NSGetModule 正在被 NSModule 结构取代,所以我必须适应。我正在使用 Delphi 对我的产品进行编码,因此我必须将新代码移植到 Object Pascal。

如果我查看此代码: http: //mxr.mozilla.org/mozilla-central/source/xpcom/components/Module.h

我注意到 ContractIDEntry 结构的“cid”属性定义为nsID const *

这是否意味着结构中有一个指向 nsID 变量的指针,或者 nsID 值本身就是结构的一部分?

4

1 回答 1

3

完整的声明是这样的:

struct ContractIDEntry
{
  const char* contractid;
  nsID const * cid;
};

正如声明contractid意味着该结构包含一个指向字符的指针而不是该字符是该结构的一部分一样,该声明cid意味着该结构包含一个指向nsID 的指针。该结构不包含 nsID,仅包含指向 nsID 的指针。

从技术上讲,它是一个不允许用来修改指向值的指针,但Delphi没有这个概念,所以将它声明为一个普通的指针。

于 2010-10-31T22:07:53.160 回答