2

哪个更可取?两者之间?例如在排序数组中,使用预定义的排序函数是否比创建自己的排序函数更实用?


使用预定义函数和用户定义函数之间的优缺点是什么?

4

4 回答 4

2

通常,如果存在预定义函数,则它们会更好。无论输入是什么,它们通常都经过优化以在最短的时间内运行(它们根据输入类型和大小进行优化)。实际上,您应该用户定义某些内容的唯一原因是,如果预定义代码的功能不满足您的某些特定要求。例如,可能有一个搜索函数已经预定义并返回一个布尔值,但您需要知道找到的项目的索引。

长话短说:如果已定义,通常最好使用预定义

于 2013-06-18T03:09:24.073 回答
1

仅当预定义函数出于“非常好的”原因而无法满足您的需求时,才使用用户定义的函数。重新发明轮子永远不会好

于 2013-06-18T03:05:07.353 回答
1

勤奋的程序员总是试图了解内置函数是如何实现的。因为他每次都必须在多种解决方案中进行选择,并且必须做出适合他需求的最佳选择。此外,要知道编写自己的功能与现有功能相比是否相关。

大多数时候,内置函数都经过优化,但有时您需要更准确或更快的实现,并且必须制作自己的版本。

示例:如果您需要计算两个std::set整数之间的交集(C++ STL),那么在大集合上的性能会很差。如果快速计算是您的首要任务,那么最好编写您自己的集合表示。是一个示例案例,我不得不做这样的事情。

注意:正如 TGH 所说,它是Never good to reinvent the wheel. 因此,在实现您自己的功能之前,您还应该尝试找出一个尚未编写的定性第三方库(当然要注意许可证要求)。这样您就可以直接使用它,或者从中获得一些灵感。

于 2013-06-19T09:31:57.360 回答
0

内置函数是与编译器使用的 ic 程序一起提供的预定义函数或语句或运算符。虽然用户定义函数是用户编写的用于计算值或编写任务的自包含语句构建块,但它们可以根据被调用函数的要求由主函数调用。

于 2014-10-06T04:18:41.417 回答