html是以一种通用的方法来,c++ 有一种通用的方法来使函数模板适应为多态函数对象吗?...
生活随笔
收集整理的這篇文章主要介紹了
html是以一种通用的方法来,c++ 有一种通用的方法来使函数模板适应为多态函数对象吗?...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我有一些功能模板,例如
template
void foo(T);
template
void bar(T);
// others
我需要將每一個傳遞給一種算法,它將被稱為各種類型的算法.
template
void some_algorithm(F f)
{
// call f with argument of type int
// call f with argument of type SomeClass
// etc.
}
我不能傳遞我的函數模板uninstantiated,但我不能用任何特定的類型實例化它,因為some_algorithm將需要調用它與幾個不同類型的參數.
我可以將我的函數模板修改為多態函數對象,例如
struct foo_polymorphic
{
template
void operator()(T t)
{
foo(t);
}
};
然后將其作為some_algorithm(foo_polymorphic())傳遞.但是這需要為每個我的功能模板編寫一個單獨的適配器.
是否有一種通用的方法來使函數模板適應為多態函數對象,即我可以為每個需要適應的函數模板重新使用的一些機制,而不必為每個功能對象單獨聲明一些內容?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的html是以一种通用的方法来,c++ 有一种通用的方法来使函数模板适应为多态函数对象吗?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础【day02】:元组和购
- 下一篇: Chipmump文档