成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

EasyC++,運算符重載限制

開發 后端
我們講了在類和結構體當中重載運算符,關于運算符的重載并不是隨心所欲的。C++給出了一些限制,從而保證了規范,以及程序運行的準確性。

[[440765]]

大家好,我是梁唐。

重載限制

上一篇我們講了在類和結構體當中重載運算符,關于運算符的重載并不是隨心所欲的。C++給出了一些限制,從而保證了規范,以及程序運行的準確性。

下面我們就來一一來看下:

必須至少有一個操作數是用戶定義的類型

這句話看不明白沒有關系,我們只需要記住它的目的就好了。它的主要目的是為了防止用戶為了標準類型重載運算符。比如將+重載成兩個數的差,而不是和。

這種限制對創造性有一定的影響,沒有那么靈活,但可以保證程序的正常運行。不會出現一些反人類的情況

不能違反運算符原來的規則

這一點很好理解,比如+號,它的運算就是計算兩個數的和。需要有兩個操作數,現在我們把它重載成一個操作數,就是違法的。

  1. P p; 
  2. +p; 

同樣,我們也不能修改運算符的優先級,如果將加號運算符重載成兩個類相加,那么新的運算符和原來的加號擁有一樣的優先級。

不能創建新運算符

這一點之前已經說過了,比如不能定義operator @等這種原來沒有的運算符。

禁止名單

有一些運算符是禁止重載的,如:sizeof, ., ::, ?:, typeid, const_cast, dynamic_cast, reinterpret_cast, static_cast

這些運算符往往都有特殊的功能,直接從實現層面禁止重載。

部分運算符只能通過成員函數重載

大多數運算符都可以通過成員函數以及非成員函數進行重載,但也有部分例外,只能通過成員函數重載,如:

  • =:賦值運算符
  • (): 函數調用運算符
  • []: 下標運算符
  • ->: 箭頭符號

這里的非成員函數看起來有些費解,之后我們會遇到,主要是指友元函數。

責任編輯:武曉燕 來源: Coder梁
相關推薦

2021-12-15 10:25:57

C++運算符重載

2021-10-20 14:03:06

C++運算符類型

2021-12-29 20:31:40

C++多態指針

2021-12-12 18:13:54

C++This指針

2021-11-26 00:03:20

C++編譯常量

2021-12-09 10:56:50

函數C++原型

2021-11-09 10:38:16

C++Const指針

2021-12-11 19:02:03

函數C++對象

2021-11-27 11:50:09

C++靜態持續

2021-12-08 10:43:09

C++實現

2021-12-10 10:45:36

C++函數Stock

2021-10-26 00:19:51

C++結構體存儲

2021-12-30 14:58:58

C++函數動態

2021-10-26 15:36:17

C++枚舉值類型

2021-10-27 16:27:20

C++指針操控

2021-12-05 18:20:42

C++空間特性

2022-01-04 16:35:42

C++Protected關鍵字

2009-08-12 10:47:03

C#運算符重載

2021-11-10 10:48:36

C++函數指針

2022-09-19 08:10:37

運算符函數語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 岛国在线免费观看 | av午夜激情 | 欧美日韩中文字幕 | 中文字幕加勒比 | 亚洲免费三级 | 国产成人精品免费视频 | 亚洲福利视频一区二区 | 91成人免费看片 | 在线播放中文字幕 | 中文字幕成人av | 婷婷去俺也去 | 久久久噜噜噜久久中文字幕色伊伊 | 国产精品一区二区电影 | 国产精品久久精品 | 日韩电影中文字幕 | 91久久国产综合久久 | 黄色国产在线播放 | 牛牛热在线视频 | 四虎影音 | 在线欧美a | 不卡一二区 | 国产91丝袜在线播放 | 国产在线精品区 | 黄色片视频免费 | 欧美日韩国产一区二区三区 | 国产精品毛片一区二区三区 | www成人免费视频 | 综合网在线 | 久久久成人动漫 | 亚洲最大av网站 | 国产欧美一级二级三级在线视频 | 色综合99| 99精品一区二区 | 久久夜视频 | 国产日韩一区二区三免费高清 | 成人在线网 | 国产一区二区三区 | 日日干日日射 | 日韩精品成人免费观看视频 | 中文字幕亚洲视频 | 国产日韩精品一区 |