C++26引入了两个新的函数包装器:std::copyable_function和std::function_ref,解决了现有std::function的局限性。这些新特性提供了更好的常量正确性和更灵活的使用模式,其中std::copyable_function提供了支持复制的常量正确替代方案,而std::function_ref则提供了对可调用对象的非拥有引用。
背景
自C++11的std::function以来,C++一直在发展其对类型擦除可调用包装器的支持,C++23增加了std::move_only_function。然而,在常量正确性和可复制性方面仍存在功能上的空白。
- 来源
- Lobsters
- 发布时间
- 2026年5月20日 22:52
- 评分
- 6.0 / 10