14 5 下標運算子

2022-10-01 09:45:09 字數 673 閱讀 3276

表示容器的類通常可以通過元素在容器中的位置訪問元素,這些類一般會定義下標運算子operator。

下標運算子必須是成員函式

為了與下標的原始定義相容,下標運算子通常以所訪問元素的引用作為返回值,這樣做的好處是下標可以出現在賦值運算子的任意一端。進一步,我們最好同時定義下標運算子的常量版本和非常量版本,當作用於乙個常量物件時,下標運算子返回常量引用以確保我們不會給返回的物件賦值。

如果乙個類包含下標運算子,則它通常會定義兩個版本:乙個返回普通引用,另乙個是類的常量成員並且返回常量引用。

舉個例子,我們按照如下形式定義strvec的下標運算子:

上面這兩個下標運算子的用法類似於vector或者陣列中的下標。因為下標運算子返回的是元素的引用,所以當strvec是非常量時,我們可以給元素賦值;而當我們對常量物件取下標時,不能為其賦值:

下標運算子「 」的過載

在 c 中,在過載下標運算子 時,認為它是乙個雙目運算子,例如 x y 可以看成 雙目運算子 x 左運算元 y 右運算元。其相應的運算子過載函式名為 operator 假設 x 是某乙個類的物件,類中定義了過載 的 operator 函式,則表示式 x y 可被解釋為 x.operator y 下標...

C 下標運算子 過載

下標操作符 通常用於訪問陣列元素。過載該運算子用於增強操作 c 陣列的功能。下面的例項演示了如何過載下標運算子 include using namespace std const int size 10 class safearay int operator int i if i size cout...

Latex 大型運算子上下標

在單行公式中,latex有時會預設將連加連乘等公式的引數放在右側上下標位置,但是想直接放在符號上下位置,如何解決,可使用 limits命令解決,在原符號命令與上下標引數之間插入該命令即可。示例 p bigcup a i sum p a i sum p a i a j sum p a i a j a ...