哪个更优选?两者之间?例如在排序数组中,使用预定义排序函数比创建您自己的排序函数更实用 > <小时/>
答案 0 :(得分:2)
通常,预定义函数(如果存在)更好。它们通常经过优化,可以在最短的时间内运行,无论输入是什么(它们根据输入类型和大小进行优化)。实际上,您应该用户定义某些内容的唯一原因是预定义代码的功能是否不符合您的某些特定要求。例如,可能有一个已预定义的搜索函数并返回一个布尔值,但您需要知道找到的项目的索引。
长话短说:如果已定义,通常最好使用预定义。
答案 1 :(得分:1)
如果预定义的功能不符合您对“非常好”原因的需要,则仅使用用户定义的函数。永远不好重新发明轮子
答案 2 :(得分:1)
勤奋的程序员总是试图了解内置函数的实现方式。因为他必须每次都选择多种解决方案,并且必须做出最佳选择以满足他的需求。此外,要知道编码自己的特征是否与现有特征相比是否相关。
大多数情况下,内置函数都是针对最佳功能进行了优化的,但有时您需要更准确或更快速的实现,并且必须使用自己的版本。
示例:如果需要计算两个std::set
整数(C ++ STL)之间的交集,则在大型集合上的性能会非常差。如果快速计算是您的首要任务,请更好地编写自己的集合表示。 Here是一个示例案例,我必须做这样的事情。
注意:如TGH所述,它是Never good to reinvent the wheel
。因此,在实现您自己的功能之前,您还应该尝试找出尚未编写的定性第三方库(当然要处理许可证要求)。这样你就可以直接使用它,或者从中获得灵感。
答案 3 :(得分:0)
内置函数是预定义的函数或语句或运算符,它与编译器一起提供的i c程序。 虽然用户定义的函数是一个自包含的语句构造块,由用户编写以计算值或编写任务,但它们可以由主函数根据被调用函数的要求调用。