使用輸出引數

引數可用於返回一個或多個值; 這些引數必須是非 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;
}