Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates Idris是否可以使用内联函数作为参数? 在C++中,如果你要编写自己的通用的代码>排序< /COD>函数模板,它使用一个比较谓词参数,那么编译器就可以嵌入这个谓词。_Templates_Compiler Optimization_Idris_Inlining - Fatal编程技术网

Templates Idris是否可以使用内联函数作为参数? 在C++中,如果你要编写自己的通用的代码>排序< /COD>函数模板,它使用一个比较谓词参数,那么编译器就可以嵌入这个谓词。

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

C中的情况并非如此:
qsort
只编译一次,其比较谓词参数从未内联(可能编译器/链接器的最新技术水平最近有所提高,因此如果我的信息过时,请务必纠正我)

<>这是C++中泛型编程的一个好处(当然不只是排序> <代码>函数):你可以实现相同的性能,在C中,你必须放弃泛型(或者使用宏)。
我的问题是:伊德里斯能做C++在这里做的吗?是否可以使用内联函数作为参数?

Idris支持通过注释机制对高阶函数进行部分求值。通过标记希望在编译时传递的参数
[static]
,可以使生成的程序专门化

有关更多详细信息,请参阅