[英]Is there a standard function in C++, that takes an argument and returns the same?
我希望將以下函數用於某些綁定目的。
template <class T>
T fun(T arg) { return arg; }
是否有標准的C ++函數可用於執行此操作。 還是我必須自己寫?
我可以這樣寫:
template <typename T>
auto identity(T && x) -> decltype(std::forward<T>(x))
{
return std::forward<T>(x);
}
不,沒有,但是您已經完成了很多工作。
我將其稱為id
而不是fun
,因為它是身份函數。
如上所述,您可以以簡單的方式使用#define fn(x)(x)。 但是,當您將復雜的數據結構傳遞給您的“ fn”時,事情將變得非常難看,這將使您難以用誤導性的編譯器消息來追溯錯誤。
但是,如果您的綁定問題是一些線程同步問題。 那么答案將是如何使用線程API /庫。 例如,對於Ocaml來說,它像>> = res之類的東西,我們綁定到這里,直到找到由res表示的東西的結果。 讓我知道您正在使用的庫的名稱嗎?
玩得開心。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.