命名空间
变体
操作

std::function_ref

来自 cppreference.com
< cpp‎ | utility‎ | functional
 
 
实用程序库
语言支持
类型支持 (基本类型,RTTI)
库特性测试宏 (C++20)
动态内存管理
程序实用程序
协程支持 (C++20)
可变参数函数
调试支持
(C++26)
三元比较
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
通用实用程序
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中已弃用)
整数比较函数
(C++20)(C++20)(C++20)   
(C++20)
交换类型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
通用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
基本字符串转换
(C++17)
(C++17)

 
函数对象
函数包装器
(C++11)
function_ref
(C++26)
(C++11)
函数调用
(C++17)(C++23)
标识函数对象
(C++20)
透明运算符包装器
(C++14)
(C++14)
(C++14)
(C++14)  
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)
(C++14)

旧绑定器和适配器
(直到 C++17*)
(直到 C++17*)
(直到 C++17*)
(直到 C++17*)  
(直到 C++17*)
(直到 C++17*)(直到 C++17*)(直到 C++17*)(直到 C++17*)
(直到 C++20*)
(直到 C++20*)
(直到 C++17*)(直到 C++17*)
(直到 C++17*)(直到 C++17*)

(直到 C++17*)
(直到 C++17*)(直到 C++17*)(直到 C++17*)(直到 C++17*)
(直到 C++20*)
(直到 C++20*)
 
 
定义在头文件 <functional>
template< class... >
class function_ref; // 未定义
(1) (自 C++26 起)
template< class R, class... Args >

class function_ref<R(Args...)>;
template< class R, class... Args >
class function_ref<R(Args...) noexcept>;
template< class R, class... Args >
class function_ref<R(Args...) const>;
template< class R, class... Args >

class function_ref<R(Args...) const noexcept>;
(2) (自 C++26 起)

类模板 std::function_ref 是一个非拥有函数包装器。std::function_ref 对象可以存储和调用对 Callable 目标 的引用 - 函数、lambda 表达式bind 表达式 或其他函数对象,但不包括指向成员函数的指针和指向成员对象的指针。 std::nontype 可用于通过传递函数指针、指向成员函数的指针和指向成员对象的指针来构造 std::function_ref

std::function_ref 支持其模板参数中提供的 cv 限定符noexcept 限定符 的所有可能组合,但不包括 volatile

std::function_ref 的每个特化都是一个满足 copyableTriviallyCopyable 类型。

内容

[编辑] 成员对象

成员 定义
bound-entity 一个具有未指定类型 BoundEntityType 的对象,该类型满足 copyable 并且能够存储指向对象值的指针或指向函数值的指针
(仅供说明*)
thunk-ptr 指向类型为 R(*)(BoundEntityType, Args&&...) noexcept(/*noex*/) 的函数的指针,其中 /*noex*/ 如果函数签名中存在 noexcept 作为 std::function_ref 模板参数的一部分,则为 true
(仅供说明*)

[编辑] 成员函数

构造一个新的 function_ref 对象
(公共成员函数) [编辑]
赋值给 function_ref
(公共成员函数) [编辑]
调用 function_ref 的存储的 thunk
(公共成员函数) [编辑]

[编辑] 推导指南

[编辑] 备注

功能测试 Std 功能
__cpp_lib_function_ref 202306L (C++26) std::function_ref

[编辑] 示例

[编辑] 另请参阅

(C++11)
任何可复制的可调用对象的可复制包装器
(类模板) [编辑]
任何支持给定调用签名中的限定符的可复制的可调用对象的可复制包装器
(类模板) [编辑]
任何支持给定调用签名中的限定符的可调用对象的仅移动包装器
(类模板) [编辑]
值构造标签
(标签)[编辑]