Skip to content

Latest commit

 

History

History
29 lines (19 loc) · 1.84 KB

function.md

File metadata and controls

29 lines (19 loc) · 1.84 KB

function

⚡ 如你所见,在 awacorn::detail 命名空间内有名为 function 的内部类。它是 Awacorn 的高性能 std::function 实现,用于节省时间/空间成本。

目录


优缺点

以下是一张优缺点的表格。

优点 缺点
它位于 awacorn/detail/function.hpp,并且无论是包含 event async 还是 promise,都会看到这个类。 N/A
它的速度很快,并且大小是 std::function 的一半(在 gcc 12.2.0 x86_64-linux-gnu 上)。 但是它不支持拷贝构造,所以你必须小心谨慎地使用它。
它可以包装 std::function std::function 无法用于包装它。
它实现了 std::function 几乎所有的接口。 但它仍不等同于 std::function,在使用时需要进行很麻烦的转换,还会导致性能损失。

💡 有点像 Rust 不是么?

注意事项

⚠️ awacorn::detail 命名空间内的成员均是 Awacorn 的 内部类,擅自使用会导致 可移植性降低,并且我们也不推荐这么做。