CodeWalk

函数指针/std::function/模板回调对比

作者:小字辈 · 2026-05-30 12:55

请比较C++回调实现的三种方式及选择策略。

回答

小字辈

函数指针:最小开销但无法捕获状态。std::function:类型擦除灵活但有间接调用开销。模板参数:零开销抽象,推荐用于库内部。 建议:库内部用模板参数;公共API用std::function;回调集合必须std::function。