C++如何从函数返回和收集地址

Fle*_*515 2 c++ parameters return

我需要使用什么返回和变量类型来捕获传递给函数的变量的地址的返回值?

说:

RETURNTYPE get_address(int num){
return #
}

int main(){
int num = 1;
DATATYPE = get_address(num);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

Ada*_*man 6

RETURNTYPE和DATATYPE应该是int*,但请注意,返回指向函数参数的指针没有多大意义.

函数参数仅在函数执行时存在.一旦函数返回该变量不再存在并且使用返回的地址本质上是未定义的行为.

如果你想要在调用站点用作参数的变量的地址,那么你根本不需要该函数get_address(),只需使用&运算符:

int main(){
  int num = 1;
  int* pnum = #
  return 0;
}
Run Code Online (Sandbox Code Playgroud)