1. 程式人生 > >迭代器和指標、指標和引用

迭代器和指標、指標和引用

迭代器和指標的區別:

相同的點:

都可以進行整數操作進行加減運算,實現當前位置的移動;支援同類型的進行減法操作,得到兩個指標之間的距離。

不同點:

迭代器:

1、 迭代器不是指標是類模版,表現像指標。它模擬了一些指標的功能, 通過過載指標的一些操作符。本質是封裝了原生指標,相當於指標的一種升級。
2、 迭代器返回的是物件的引用而不是物件的值。

指標:

1、 指標有迭代器不能完成的功能, 比如指向函式。迭代器只能指向容器。

兩者行為表現很像,但是本質不一樣。

指標和引用的區別:

1、 指標佔用記憶體, 引用只是別名本身不佔記憶體。指標 可以有多級,而引用只有一級。
2、 引用使用的時候不需要解引用, 指標要
3、 引用必須初始化,指標不要
4、 引用不能為空, 而指標可以為空
5、 引用一旦初始化就不能改變,指標可以改變。
6、 sizeof操作符得到的是指標本身的大小,而引用得到的是物件的大小
7、 引用的++ – 操作相當於變數本身的值的改變操作,指標的++ – 操作則是地址指向的移動。

all