21xrx.com
2024-11-22 10:35:50 Friday
登录
文章检索 我的文章 写文章
C++中不能重载的运算符
2023-06-30 14:18:57 深夜i     --     --
C++ 重载 运算符

在C++中,重载运算符是一种非常实用的特性,它可以让我们自定义使用基本数据类型的运算符。例如,我们可以用自定义的加号运算符来实现两个自定义的类的相加操作。

然而,在C++中,并不是所有的运算符都可以被重载。以下是不能被重载的运算符:

1. **.** 运算符:正如我们所知道的,点运算符用来访问类的成员。它不能被重载,因为该运算符在语言层面已经实现。

2. **.* ** 运算符:这是一个指针运算符,用来访问类或结构体中的成员指针。因为该运算符是由指针类型和成员名组成的,所以无法被重载。

3. **:: ** 运算符:这是用于访问命名空间或类的静态成员的作用域解析运算符。它也不能被重载。

4. **?:** 运算符:这是一个三目运算符,也称为条件运算符。它不能被重载,因为它具有特殊的语法结构。

5. **sizeof** 运算符:这个运算符用于返回类型或变量的大小,它也是不能被重载的。

6. **typeid** 运算符:这个运算符用于获取一个变量的类型信息,同样也不能被重载。

7. **const_cast、static_cast、dynamic_cast、reinterpret_cast** 运算符:这些运算符是用来进行一些类型转换的,它们也是不能被重载的。

  
  

评论区

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