【发布时间】:2020-01-18 05:14:03
【问题描述】:
我们的项目依赖于一个 C 库,该库声明了一个通用的 struct
typedef struct
{
SomeType a_field;
char payload[248];
} GeneralStruct
还有一个更具体的:
typedef struct
{
SomeType a_field;
OtherType other_field;
AnotherType another_file;
YetAnotherType yet_another_field;
} SpecificStruct
我们有一些它在 C++ 中的用法示例,在某些情况下,需要将通用的转换为特定的,例如:
GeneralStruct generalStruct = // ...
SpecificStruct specificStruct = reinterpret_cast<SpecificStruct&>(generalStruct)
在 Swift 中是否有类似 reinterpret_cast 的东西?我想我可以手动从payload 读取字节,但我正在寻找一种惯用的方式
【问题讨论】:
-
查看 UnsafeRawPointer。它具有将原始指针(源自原始类型指针)重新解释为类型指针(新类型)的功能。