指针在C和C++的微妙区别
巴扎黑
巴扎黑 2016-11-08 15:55:36
0
1
792

在C语言中,对于指针,有效而正确的用法是保证他指向同一数组的元素或数组最后一个元素后端的元素(past-end-one),但在C++中由于“逆迭代器”的引入,只是他可以指向数组第一个元素前一端的元素(past-start-one).如:rend()== begin()-1;我想问的是为什么他要这样设计,打破C语言习惯有什么更大的好处

巴扎黑
巴扎黑

全員に返信(1)
phpcn_u29

方便你反向循环访问啊。
for (it = x.rbegin(); it != x.rend(); --i)
因为每趟循环后要先进行--i,再判断是不是等于rend()。
不能让it指向第一个元素就停止循环,那样第一个元素就没有被遍历到了。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート