名稱空間
變體
操作

std::function_ref

來自 cppreference.com
 
 
 
函式物件
函式包裝器
(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 表示式繫結表示式或其他函式物件,但不包括指向成員函式的指標和指向成員物件的指標。std::nontype 可以透過傳遞函式指標、指向成員函式的指標和指向成員物件的指標來構造 std::function_ref

std::function_ref 支援其模板引數中提供的 cv-限定符(不包括 volatile)和 noexcept-說明符的所有可能組合。

std::function_ref 的每個特化都是一個 可平凡複製 (TriviallyCopyable) 型別,它滿足 copyable

目錄

[編輯] 成員型別

成員 定義
BoundEntityType (私有) 未指定 可平凡複製 (TriviallyCopyable) 型別,它滿足 copyable 並且能夠儲存物件指標值或函式指標值
(僅供說明的成員型別*)
FunctionPointerType (私有) R(*)(BoundEntityType , Args&&...) noexcept(noex )

其中 noextrue,如果 std::function_ref 的模板引數中存在 noexcept,否則為 false
(僅供說明的成員型別*)

[編輯] 資料成員

成員 定義
BoundEntityType bound-entity 一個繫結的實體物件
(僅用於闡釋的成員物件*)
FunctionPointerType thunk-ptr 一個儲存的函式指標
(僅用於闡釋的成員物件*)

[編輯] 成員函式

構造一個新的 function_ref 物件
(public 成員函式) [編輯]
賦值一個 function_ref
(public 成員函式) [編輯]
呼叫 function_ref 儲存的 thunk
(public 成員函式) [編輯]

[編輯] 推導指南

[編輯] 注意

特性測試 標準 特性
__cpp_lib_function_ref 202306L (C++26) std::function_ref

[編輯] 示例

[編輯] 參閱

(C++11)
任何可複製構造的可呼叫物件的包裝器
(類模板) [編輯]
任何可複製構造的可呼叫物件的包裝器,支援給定呼叫簽名中的限定符
(類模板) [編輯]
任何支援給定呼叫簽名中限定符的可呼叫物件的僅移動包裝器
(類模板) [編輯]
值構造標籤
(標籤)[編輯]