gpt4 book ai didi

windows - MIDL(常量)引用

转载 作者:可可西里 更新时间:2023-11-01 10:09:41 24 4
gpt4 key购买 nike

MIDL 方法声明中没有常量引用吗????

例如。

[id(1), helpstring("My Method")]
HRESULT MyMethod(
[in] IID & const rclsid
);

对于

HRESULT MyMethod(
IID const &rclsid
);

最佳答案

MIDL 并不真正支持引用参数,它只支持“in”和“out”参数。因此,如果您确实传入了一个引用,它只是指向该值的指针的语法糖(问题是可观察性——如果您在我们的方法签名中有回调函数或接口(interface),则可以从回调中观察到对引用的更改,但是在函数返回之前,对 [out] 参数的更改是不可见的。

此外,“& const”和“const &”之间的区别也丢失了。如果您查看 REFGUID 的定义,您会发现它们只对 C++ 代码使用一种形式的“const”:

#ifdef __midl_proxy
#define __MIDL_CONST
#else
#define __MIDL_CONST const
#endif

#ifndef _REFGUID_DEFINED
#define _REFGUID_DEFINED
#ifdef __cplusplus
#define REFGUID const GUID &
#else
#define REFGUID const GUID * __MIDL_CONST
#endif
#endif

关于windows - MIDL(常量)引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3028076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com