gpt4 book ai didi

c++ - 输入迭代器是否只能在赋值的右侧符号上取消引用?

转载 作者:行者123 更新时间:2023-12-02 03:29:37 24 4
gpt4 key购买 nike

我有一个简单的问题:在 Lippman 的 C++ Primer 5ed 第 10 章中。“迭代器类别”中说道:

The Iterator Categories

Input iterators: can read elements in a sequence. An input iterator must provide

  • Equality and inequality operators (==, !=) to compare two iterators

  • Prefix and postfix increment (++) to advance the iterator

  • Dereference operator (*) to read an element; dereference may appear only on the right-hand side of an assignment

  • The arrow operator (->) as a synonym for (*it).member—that is, dereference the iterator and fetch a member from the underlying object.

他的意思是用“取消引用运算符(*)来读取元素;取消引用只能出现在赋值的右侧”:在“赋值的左侧”。 ??

我对此感到困惑。谢谢。

最佳答案

作者的意思是,如果你有一个输入迭代器it,那么你可以这样做:

foo = *it;

但您可能无法做到:

*it = foo;

即您可以从迭代器读取(它位于赋值的右侧),但不能保证您可以写入它(它位于左侧)。 p>

关于c++ - 输入迭代器是否只能在赋值的右侧符号上取消引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58116272/

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