21xrx.com
2024-09-20 00:35:47 Friday
登录
文章检索 我的文章 写文章
C++中哪些运算符不能被重载?
2023-07-05 06:14:04 深夜i     --     --
C++ 运算符 重载 限制

C++中的运算符重载是一种强大的特性,它允许程序员为自定义类型定义运算符操作。尽管运算符重载在某些情况下很有用,但并不是所有运算符都支持重载。在本文中,我们将探讨C++中不能被重载的运算符。

首先,C++中以下运算符不能被重载:

1. .(成员选择运算符)

2. .*(成员指针运算符)

3. ::(作用域解析运算符)

4. ? :(三元运算符)

上述四个运算符都与程序的语法有紧密的联系,并且其操作数的数量及类型都是固定的,所以它们不能被重载。

此外,还有两个运算符虽然可以重载,但是有限制:

1. sizeof 运算符:sizeof运算符可以被重载,但是只能在类的内部进行重载,并且其操作数必须是类的某个成员。

2. typeid 运算符:typeid运算符也可以被重载,但是只能在类的内部进行重载,并且其操作数必须是类的某个成员。

综上所述,对于C++中不能被重载的运算符,程序员只能使用其默认实现。但是,对于可以被重载的运算符,我们可以利用运算符重载这一特性来方便地实现我们自己定义的操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复