宏使用 Tricks

人为地定义一些“无意义”的宏(宏名本身有意义),以起到提升代码程序的可读性。

1. IN/OUT

指定参数用于输入还是输出:

#define IN
#define OUT

void InvertMatrix(
    IN Matrix originalMatrix,
    OUT Matrix *resultMatrix
);

// IN OUT 连用,表示直接在输入对象上进行修改后输出,也即修改是 in-place(就地)的
void ChangeSentenceCase(
    IN StringCase desiredCase,
    IN OUT Sentence *sentenceToEdit
);
原文地址:https://www.cnblogs.com/mtcnn/p/9421016.html