C++ 什么是[进]和[出]?
我偶然发现了这段代码,但我以前从未见过[in]或[out]。它们是什么C++ 什么是[进]和[出]?,c++,C++,我偶然发现了这段代码,但我以前从未见过[in]或[out]。它们是什么 HRESULT QueryInterface([in] REFIID riid, [out] void **ppvObject) { } 它是一个值的指示,该值正在被发送到函数中,或者,在[out]的情况下,它正在被更改,并且[out]put也在更改,正如您在问题中提供的那样,代码可能不会编译。尽管不常见,但您可能会遇到以下代码: HRESULT QueryInterface(IN REFIID riid, OUT vo
HRESULT QueryInterface([in] REFIID riid, [out] void **ppvObject) {
}
它是一个值的指示,该值正在被发送到函数中,或者,在
[out]
的情况下,它正在被更改,并且[out]put也在更改,正如您在问题中提供的那样,代码可能不会编译。尽管不常见,但您可能会遇到以下代码:
HRESULT QueryInterface(IN REFIID riid, OUT void **ppvObject)
它之所以编译,是因为进出的某处都是#define'd(为空)。这有时通过指针来完成,以指示参数是输入(只读)还是输出(写入),或者两者兼而有之。此指示是为了读者的利益。这些是。它们指示数据正在传递的方向。看起来像IDL而不是C++。IDL编译器将生成C或C++头文件,没有属性(或者用注释和宏替换它们),变量是< <代码> > <代码> >“U/COD>”(返回类型),通过RealEngEI转换为ReFiID RID,输出空**PPvObjt,并感谢您实际回答问题,而不是像其他人那样仅仅指出“in意味着in”和“out意味着out”。)