gpt4 book ai didi

c++ - 带有移动端的前向迭代器()

转载 作者:行者123 更新时间:2023-11-27 22:48:44 25 4
gpt4 key购买 nike

因此,我正在设计一个类(通过网络)连接到服务以接收一些数据。我不知道我会提前收到多少 man 数据点。不过我想知道,是否有一种方法可以使用 forward_iterator 使此类可迭代,以便充分享受 STL。我的想法是这样的:

self_type operator++() {
// if there are some locally cached data points left return next
// else connect to service again to receive the next batch of data
}

但是,由于我无法提供有效的 end(),我很好奇是否仍然可以这样做。

另一种(无迭代器)接口(interface)可能类似于:

bool hasMoreDataPoints() const;
DataPoint& getNext();

这显然不适用于任何 STL 算法。

最佳答案

像标准库对 istream_iterator 做的那样:当您用完数据时,设置您的迭代器状态,使其与该类型的默认构造对象进行比较。然后是你的 end() 等价物。

关于c++ - 带有移动端的前向迭代器(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40050830/

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