在 C++ 中,如果您要编写自己的sort
带有比较谓词参数的通用函数模板,那么编译器将能够内联该谓词。
在 C: 中不是这种情况:qsort
被编译一次,并且它的比较谓词参数永远不会内联(也许编译器/链接器的最新技术水平最近有所改进,所以如果我的信息已过时,请纠正我)
这对 C++ 中的泛型编程(当然不仅仅是sort
函数)来说是一个福音:您可以获得相同的性能,而在 C 中,您必须放弃泛型(或使用宏)。
我的问题是:Idris 可以做 C++ 在这里做的事情吗?它可以内联用作参数的函数吗?