Cat*_*ann 4 c c++ typedef opaque-pointers
我正在使用传统的C库接口(到C++),将不透明指针公开为
typedef void * OpaqueObject
Run Code Online (Sandbox Code Playgroud)
在图书馆:
OpaqueObject CreateObject()
{
return new OurCppLibrary::Object();
}
Run Code Online (Sandbox Code Playgroud)
这当然为该库的客户提供绝对没有类型安全性.应该将typedef从void指针更改为结构指针的工作方式完全相同,但提供少量类型的安全性?
typedef struct OpaqueObjectInternal_ *OpaqueObject
// OpaqueObjectInternal_ is NEVER defined anywhere in client or library code
Run Code Online (Sandbox Code Playgroud)
是否有任何对齐问题或其他陷阱我现在必须担心我明确指向一个结构,即使我真的没有指向一个?
| 归档时间: |
|
| 查看次数: |
3181 次 |
| 最近记录: |