如何在C++中将UINT8转换为UINT32?

M. *_*awy 3 c++ int pointers type-conversion visual-c++

我有一个类型的值,UINT8我想成功UINT32.

我的以下代码是否会被认为是正确,有效,高效和安全的?

UINT32 convU8toU32(UINT8 *number) {
  UINT32 result = *number;
  return *result;
}
Run Code Online (Sandbox Code Playgroud)

请注意,我是来自Java世界的C++的新角色.

Bau*_*gen 7

该功能是正确的,因为是(有错字*return *result;除外),但你甚至不需要它.整数(和其他整数类型)隐式转换为彼此,并且UINT32可以表示每个UINT8可以拥有的值,您可以简单地写

UINT32 target = source;
Run Code Online (Sandbox Code Playgroud)

对于一些UINT8 source.

使用a显式转换static_cast是可选的; 如果转换(可能)缩小,则演员会使一些编译器警告静音.