我是否需要使用参考参数来返回值?

1 c++ api winapi

如果HANDLE是输出参数,是否需要使用对HANDLE的引用或直接使用HANDLE?

bool fn(HANDLE h_result);
Run Code Online (Sandbox Code Playgroud)

要么

bool fn(HANDLE&?h_result);
Run Code Online (Sandbox Code Playgroud)

Bri*_*ndy 11

要返回值,您可以:

  1. 使用引用作为参数
  2. 使用指针作为参数
  3. 实际上通过返回值 return

指定以下内容时:

bool fn(HANDLE h_result);
Run Code Online (Sandbox Code Playgroud)

你正在复制h_result.因此,如果您在功能中更改它,则表示您正在更改副本,而不是原始副本.

在处理指针时,概念完全相同.请记住,指针只是一个包含内存地址的变量.这个内存地址是什么并不重要.如果要通过参数返回内存地址,则需要使用指向指针或指针引用的指针.