c++运算符重载

不能重载的运算符

. .* :: :? sizeof

前两个运算符不能重载是为了保证访问成员的功能不能被改变,域运算符和sizeof 运算符的运算对象是类型而不是变量或一般表达式,不具备重载的特征。

只能重载为成员函数的运算符

= -> [] ()

因为这些运算符类本身就默认存在,不重载的话类会自动生成一个,比如"="运算符,假设有个class A, A = 6,可能会调用默认的构造函数,在调用"="运算符。
如果这些运算符在类外面重载,则会产生歧义。

原文地址:https://www.cnblogs.com/keviwu/p/7472321.html