21xrx.com
2024-11-22 09:56:04 Friday
登录
文章检索 我的文章 写文章
C++中哪些运算符是不能被重载的?
2023-06-24 01:26:48 深夜i     --     --
C++ 运算符 重载 不能

C++是一种被广泛应用的编程语言,其中一个特点就是允许运算符重载。运算符重载是指在类中重新定义运算符的行为,使该运算符能够通过对象进行操作。但是,并不是所有的运算符都能被重载。本文将介绍C++中不能被重载的运算符。

1. '::'运算符

'::'运算符称为域作用符,用于访问类、命名空间、结构体等的作用域。由于其本身的作用就是在命名空间和作用域之间建立关联,所以在C++中不能被重载。

2. '.*'和'->*'运算符

' .* '和 '->*' 运算符用于访问类的成员指针。其中,' .* '用于操作类的成员指针,'->*' 用于操作类的成员指针和指向类对象的指针。这两个运算符由于涉及到指针的操作,也不能被重载。

3. 'sizeof'运算符

'sizeof' 运算符用于获取变量或者数据类型的大小。由于这是一个编译时的运算符,在程序运行时并不存在,所以不能被重载。

4. '?:'运算符

'?:' 运算符又称为条件运算符,它是一个三目运算符,用于判断条件,如果条件为真,则执行 ' 真 '分支,如果条件为假,则执行 ' 假 '分支。这个运算符也不能被重载。

总之,在C++中,有些运算符是不能被重载的,这是由于它们的操作性质,并不能被类重新定义。在程序设计中,使用运算符重载可以简化代码并增加程序的可读性,但是必须有选择地重载适当的运算符才能发挥其最大的效果。

  
  

评论区

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