使用输出参数

参数可用于返回一个或多个值; 这些参数必须是非 const 指针或引用。

参考文献:

void calculate(int a, int b, int& c, int& d, int& e, int& f) {
    c = a + b;
    d = a - b;
    e = a * b;
    f = a / b;
}

指针:

void calculate(int a, int b, int* c, int* d, int* e, int* f) {
    *c = a + b;
    *d = a - b;
    *e = a * b;
    *f = a / b;
}

一些库或框架使用空的’OUT’#define 使得很明显哪些参数是函数签名中的输出参数。这没有任何功能影响,将被编译出来,但使功能签名更清晰;

#define OUT

void calculate(int a, int b, OUT int& c) {
    c = a + b;
}