c++ - 使用输入参数作为输出

标签 c++ function

我的问题是: 我看到(在 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/

相关文章:

c++ - 为什么编译器只为 int 保留 0x10 位?

c++ - 按下 Enter 键时执行的 If 循环 C++

使用字符串作为打开文件路径的 C++ ifstream 错误。

vb.net - 如何使 VB.NET 函数的参数作为泛型类型?

c++ - 从控制台读取字符

c++ - 检测进程内存是否被操纵?

c++ - 如何通过引用返回一个 vector ,隐含地期望一个空 vector 作为输入?

类似于此 JavaScript 函数的 PHP 函数

python - 如何告诉 Python 中的 lambda 函数返回 None 而不是抛出键值错误

swift - 全局存储 SwiftUI 函数