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++的新角色.
该功能是正确的,因为是(有错字*的return *result;除外),但你甚至不需要它.整数(和其他整数类型)隐式转换为彼此,并且UINT32可以表示每个UINT8可以拥有的值,您可以简单地写
UINT32 target = source;
Run Code Online (Sandbox Code Playgroud)
对于一些UINT8 source.
使用a显式转换static_cast是可选的; 如果转换(可能)缩小,则演员会使一些编译器警告静音.