Templates Idris是否可以使用内联函数作为参数? 在C++中,如果你要编写自己的通用的代码>排序< /COD>函数模板,它使用一个比较谓词参数,那么编译器就可以嵌入这个谓词。
C中的情况并非如此:Templates Idris是否可以使用内联函数作为参数? 在C++中,如果你要编写自己的通用的代码>排序< /COD>函数模板,它使用一个比较谓词参数,那么编译器就可以嵌入这个谓词。,templates,compiler-optimization,idris,inlining,Templates,Compiler Optimization,Idris,Inlining,C中的情况并非如此:qsort只编译一次,其比较谓词参数从未内联(可能编译器/链接器的最新技术水平最近有所提高,因此如果我的信息过时,请务必纠正我) 这是C++中泛型编程的一个好处(当然不只是排序> 函数):你可以实现相同的性能,在C中,你必须放弃泛型(或者使用宏)。 我的问题是:伊德里斯能做C++在这里做的吗?是否可以使用内联函数作为参数?Idris支持通过注释机制对高阶函数进行部分求值。通过标记希望在编译时传递的参数[static],可以使生成的程序专门化 有关更多详细信息,请参阅
qsort
只编译一次,其比较谓词参数从未内联(可能编译器/链接器的最新技术水平最近有所提高,因此如果我的信息过时,请务必纠正我)
<>这是C++中泛型编程的一个好处(当然不只是我的问题是:伊德里斯能做C++在这里做的吗?是否可以使用内联函数作为参数?Idris支持通过注释机制对高阶函数进行部分求值。通过标记希望在编译时传递的参数
[static]
,可以使生成的程序专门化
有关更多详细信息,请参阅