我有这个功能:
void myFunct(const int A, ?out? int B){B = B + A;}
如何声明 B
以便函数可以更新其值并将其返回给调用者?
最佳答案
Metal 是一种基于 C++ 的编程语言,允许您将指针传递给函数。为此,只需将函数参数声明为指针类型即可。
void myFunct(const int A, device int *B)
{
*B = *B + A;
}
device int *C = 0;
myFunct(1, C);
您还可以通过引用传递变量:
void myFunct(const int A, device int &B)
{
B = B + A;
}
device int *C = 0;
myFunct(1, *C)
或引用指针:
void myFunct(const int A, device int *&B)
{
*B = *B + A;
}
device int *C = 0;
myFunct(1, C);
关于c++ - 在 Metal 着色器代码中,如何定义函数的输入/输出参数变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59017405/