我无法理解此代码中的 return 值

I can not understand the return value in this code

这段代码中的 return { Memory::pHandle = pHandle }; 是什么意思?
是不是和Memory::pHandle = pHandle一样。如果是,那么为什么使用 return

HANDLE Memory::GetProcessHandle(DWORD ProcessID)
{
  HANDLE pHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessID);
  return { Memory::pHandle = pHandle };
}

return值是将新打开的进程句柄分配给class成员pHandle的结果。我稍微调整了代码,让您看得更清楚。

HANDLE Memory::GetProcessHandle(DWORD ProcessID)
{
  HANDLE newpHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessID);
  Memory::pHandle = newpHandle;
  return Memory::pHandle;
}

operator= returns 分配的值。所以

return { Memory::pHandle = pHandle };

相同
Memory::pHandle = pHandle;
return pHandle;