• 在计算机程序设计中,运算符重载(英語:operator overloading)是多态的一种。这里,运算符(比如+,=或==)被当作多态函数,它们的行为随着其参数类型的不同而不同。运算符并不一定总是符号。 运算符重载通常只是一种语法糖。它可以简单地通过函数调用来模拟: a + b * c 在一个支持运算符...
    11 KB (733 words) - 03:19, 19 August 2024
  • 运算符重载在此情形下未被使用。 运算符左端如果不是指针类型,编译器则调用该运算符重载版本。如果没有重载版本则编译报错。该运算符重载版本的返回值,或者是指针类型,或者是内含重载定义了->运算符的类型;对这两种情形编译器分别做指针解引用与递归调用返回类型的重载版本的->运算符。 #include...
    2 KB (341 words) - 23:20, 12 March 2022
  • C++语言中,移动赋值运算符(move assignment operator)=用于把一个临时对象转移给一个已存在对象并可以运算符重载。类似于复制赋值运算符,移动赋值运算符也是特殊成员函数。这是从C++11开始引入的概念。 在没有定义拷贝构造函数、拷贝赋值运算符...
    3 KB (335 words) - 11:30, 11 July 2022
  • 所有的C语言运算符都被C++语言支持。C语言不支持运算符重载。 在不重载时,运算符&&、||、,(逗号运算符),在第一个操作数求值之后有一个顺序点。 大部分C与C++运算符也可用于其它程序设计语言如C#、Java、Perl、PHP等,具有相同的优先级、结合性与语义。 以下是C++程式語言中的所有運算子的優先級和結合性列表。...
    17 KB (409 words) - 00:16, 11 December 2022
  • 特设多态 (section 重载)
    polymorphism)是程序设计语言的一种多态,多态函数有多个不同的实现,依赖于其实参而调用相应版本的函数。因此,特设多态仅支持有限数量的不同类型。函数重载乃至运算符重载也是特设多态的一种。 特设多态与参数多态相对。ad hoc在这里并不是贬义,而是指这类多态并不是类型系统的基本特性,不是像参数多态那样适用于...
    3 KB (478 words) - 04:35, 6 August 2022
  • *p1++; } C++语言支持运算符重载。因此需要区分的是前增/减运算符还是后增/减运算重载前置的++、-- 运算符时,函数无形参: TestClass& operator++(); TestClass& operator--(); 重载后置的++、--运算符时,函数中需要一个int形参(即哑元,an...
    4 KB (614 words) - 14:43, 27 April 2024
  • 函数重载(英語:function overloading)或方法,是某些编程语言(如 C++、C#、Java、Swift、Kotlin 等)的特性,允许创建多个具有不同实现的同名函数。对重载函数的调用会运行其适用于调用上下文的具体实现,即允许一个函数调用根据上下文执行不同的任务。 例如,doTask()...
    10 KB (1,365 words) - 03:50, 5 August 2024
  • 逗号运算符在C/C++中作为顺序点的显式标记,同时具有最低的优先级。 在这些例子中,第二组和第三组之间的行为不同是由于逗号运算符的优先级低于赋值运算。最后一个示例与其他例子不同,因为在函数在返回前必须对返回的表达式进行完全求值。 /** * 逗号在此行中充当分隔,而不是运算符。 * 结果:a...
    13 KB (1,803 words) - 12:45, 23 December 2022
  • 索引器 (编程) (category 运算符 (编程))
    器提供了一种直观的方式来访问和操作类的实例中的元素,尤其在处理集合数据时非常有用。 在C#语言中,索引器是通过重载operator[ ]运算符来实现的。这意味着你可以定义一个特殊的运算符重载方法,使得类的实例可以使用方括号[ ]来访问和设置元素。例如,如果你有一个名为MyClass的类,你可以定义一...
    4 KB (577 words) - 09:31, 15 May 2024
  • 運算符有分前置運算符和後置運算符,分別在於前置運算符會放到變數前方,後置運算符則是後方。例如負值運算符(-)和邏輯取反運算符(!)都是一元前置運算符。 以下是一元可重載運算符列表: 重載一元運算符時有區分前置和後置式,一元前置運算符按以下格式編寫: 回傳資料型態 operator 運算符 ()...
    28 KB (3,454 words) - 12:44, 5 May 2024
  • GiNaC与其他计算机代数系统不同的是,它并没有提供一个上层的用户互动界面,而是鼓励用户直接用C++语言和GiNaC的库编写符号计算的程序。其中的代数语法是通过C++的运算符重载实现的。开发者解释说之所以以GiNaC命名是因为大多数的代数系统都把重点放在了用户界面上,而不是与程序员的互操作性。...
    2 KB (221 words) - 14:39, 10 May 2018