代码之家  ›  专栏  ›  技术社区  ›  Nathan Ridley

这个语言标记/关键字/东西是什么意思?

  •  0
  • Nathan Ridley  · 技术社区  · 15 年前

    在以下网址: https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsICacheVisitor 是以下代码块:

    boolean visitDevice(in string deviceID, in nsICacheDeviceInfo deviceInfo);
    

    我以为我是在处理C++,但是“in”不是C++关键字,而是根据我查的C++关键字列表,也不是java关键字。那它是干什么用的,它是什么意思?

    3 回复  |  直到 15 年前
        1
  •  4
  •   Thomas Owens    15 年前

    这意味着该参数是一个输入参数,这意味着它将被使用,但不会被函数修改。

    对立面 in 参数是一个 out 出来 参数在使用它的方法之后,该值将(可能)不同。

    .idl ,或接口定义语言、文件。我不熟悉Mozilla使用的IDL(但是如果你想了解更多,你可以 can read about it here ),但我对对象管理组的IDL有些熟悉,它说 在里面 出来 参数由结果调用,并且 inout 参数由值/结果调用。

        2
  •  3
  •   Eddie Sullivan    15 年前

    此处描述了关键字“in”: here

        3
  •  0
  •   Michael Burr    15 年前

    我见过C/C++的框架/SDK,它们定义宏来指示参数是用于输入还是用于输出,或者两者兼而有之。我猜你的例子就是这样。

    例如,Windows DDK可以为 IN OUT INOUT

    微软在SAL宏中将这一想法发挥到了极致,该宏可以很好地控制参数的预期行为。