Skip to content

Commit

Permalink
增加 anyopaque 说明
Browse files Browse the repository at this point in the history
  • Loading branch information
jinzhongjia committed Jan 9, 2024
1 parent 62acb48 commit 46b0634
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion learn/basic/advanced_type/opaque.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ outline: deep

`opaque {}` 类型声明一个具有未知(但非零)大小和对齐方式的新类型,它的内部可以包含与结构、联合和枚举相同的声明。

这通常用于与不公开结构详细信息的 C 代码交互时的类型安全。
这通常用于保证与不公开结构详细信息的 C 代码交互时的类型安全。

```zig
const Derp = opaque {};
Expand All @@ -18,4 +18,9 @@ fn foo(w: *Wat) callconv(.C) void {
}
```

## anyopaque

`anyopaque` 是一个比较特殊的类型,代表可以接受任何类型的 `opaque`(由于 `opaque` 拥有不同的变量/常量声明和方法的定义,故是不同的类型),常用于与 C 交互的函数中,相当于是 C 的 `void` 类型!


TODO: 添加更多关于该类型使用的示例和说明!

0 comments on commit 46b0634

Please sign in to comment.