gpt4 book ai didi

c++ - Iterator increment results 是一个新的迭代器吗?

转载 作者:太空狗 更新时间:2023-10-29 23:48:59 26 4
gpt4 key购买 nike

When we add(or subtract) an integral value to (or from) a pointer, the result is a new pointer. That new pointer points to the element the given number ahead of (or behind) the original pointer: (pp.119 c++ primer 5ed)

我也从书上了解到,指针是迭代器(pp.118 c++ primer 5ed)。

问题

我还可以声称迭代器上的算术运算创建了一个全新的迭代器吗?

最佳答案

这本书描述了一种情况,比如说,p + n,其中 p 是一个指针,n 是一个整数。该表达式产生一个指针类型的新值。由您决定将值存储在何处;您也可以决定根本不存储它。

递增指针,即写入 p += n,将原始指针的值更改为 p + n

它对迭代器的工作方式是相同的:it + n 产生一个新的迭代器,而 it += n 改变现有的迭代器。

注意 第一个表达式可以写成std::next(it, n) , 而第二个应该写成 std::advance(it, n) ,对于迭代器和指针。

关于c++ - Iterator increment results 是一个新的迭代器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48608609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com