我的问题是: 我看到(在 CUDA 示例中)可以将函数的输入参数之一用作输出变量。示例:将两个整数相加,c=a+b:
void function AddT(int a,int b,int c){
c=a+b;
}
但这行不通。该函数不会改变主程序中 c 的值。谁可以修复它并允许函数更改 c 的值?
最佳答案
通过引用传递变量 c。
void function AddT(int a, int b, int& c)
{
c = a + b;
}
这将使您在函数中对 c 所做的任何更改即使在函数结束后也会保留。我的措辞很差;你可以在这里查看更多信息:
Pass by Reference / Value in C++
What's the difference between passing by reference vs. passing by value?
关于c++ - 使用输入参数作为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27390300/