运算符重载是计算机编程语言的一种功能,允许程序员重写默认运算符。当运算符函数重载时,它可以用自定义参数声明,这些参数的数据类型与默认运算符所能处理的数据类型不同。新参数可以是原始参数,也可以是用户定义的类型。...
运算符重载是计算机编程语言的一种功能,允许程序员重写默认运算符。当运算符函数重载时,它可以用自定义参数声明,这些参数的数据类型与默认运算符所能处理的数据类型不同。新参数可以是原始参数,也可以是用户定义的类型。在重写函数的主体中,程序员可以根据需要操作参数值。通过使用运算符重载,程序员可以创建直观的快捷方式来操作用户定义的数据类型或修改默认数据类型的处理方式。C允许重载某些运算符。当用户定义如果创建了数据类型,则无法执行简单的操作任务,例如将其中的两个添加到一起或通过对数据类型使用一元递增运算符来递增内部数据。运算符(包括加法符号)可以被重写,以便如果将它们用作两个自定义数据类型之间的二进制运算符,则它们将返回一个用户定义的结果。同样,一元运算符(如递增运算符)可能被重写以增加用户定义类型内的内部值。一旦运算符重载,编译器必须决定遇到重载运算符时要做什么。编译器根据用作操作数或与运算符一起使用的数据类型来决定要采取的正确操作。如果运算符函数的参数值操作数是用户定义的数据类型,则编译器将选择具有与所使用的操作数匹配的参数的重载函数。计算机语言允许这种特殊多态性的方式各不相同。不同的语言可能允许创建新的自定义运算符,重载其所有或部分运算符,或者根本不允许运算符重载C、 C#、PHP和Perl都允许重载它们的某些运算符。在C、Java和Javascript中不允许重载运算符。运算符重载和函数重载通常都是一些争论的主题。一些人声称,给予程序员改变运算符行为方式的自由可能会引入使用自定义代码的其他程序员可能会产生无意的错误。相反的观点认为,允许运算符重载使程序员能够创建更易于理解、成本更低、减少错误的直观简洁代码
-
发表于 2020-08-06 07:18
- 阅读 ( 854 )
- 分类:电脑网络