关于宏IN、OUT和INOUT的说明

来源:互联网 发布:罗德岛大学怎么样知乎 编辑:程序博客网 时间:2024/06/08 16:31

#define OUT

#define IN

#define INOUT

在工程中会有类似于上面这种宏定义出现,到底表示什么意思呢?如下一段程序:

#include<iostream>

#define OUT

#define IN
#define INOUT

void function1(OUT int* p)
{
*p = 10;
return;
}

void function2(IN int* p)
{
printf("%d\n", *p);
return;
}

void function3(INOUT int* p)
{
if (*p == 10)
{
printf("%d\n", *p);
}
return;
}

int main(void)
{
int a = 0;

function1(&a);
function2(&a);
function3(&a);

system("pause");

return 0;

这个只在逻辑上起作用,IN        表示输入参数,指针指向的值不会修改;

                                            OUT   表示输出参数,指针指向的值会修改,且不会读;

                                            INOUT表示输入输出参数,指针指向的值会修改,且会读取

0 0
原创粉丝点击