Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么是[进]和[出]?_C++ - Fatal编程技术网

C++ 什么是[进]和[出]?

C++ 什么是[进]和[出]?,c++,C++,我偶然发现了这段代码,但我以前从未见过[in]或[out]。它们是什么 HRESULT QueryInterface([in] REFIID riid, [out] void **ppvObject) { } 它是一个值的指示,该值正在被发送到函数中,或者,在[out]的情况下,它正在被更改,并且[out]put也在更改,正如您在问题中提供的那样,代码可能不会编译。尽管不常见,但您可能会遇到以下代码: HRESULT QueryInterface(IN REFIID riid, OUT vo

我偶然发现了这段代码,但我以前从未见过[in]或[out]。它们是什么

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”。)