问题标签 [istream-iterator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
91 浏览

c++ - CGAL 的 istream_iterator

不好意思问,不过有段时间没用CGAL了。我试图让CGAL 的Convex_hull_2/convex_hull_yz.cpp示例从文件中获取输入,而不是通过 cmd 从重定向中获取输入,例如./convex_hull_yz < convex_hull_yz.cin. 这是代码:

这是参考。所以很明显我的尝试是行不通的:

相关问题:是否有可以逐行迭代文件的 C++ 迭代器?,我理解,但我无法与 CGAL 联系。请问有什么想法吗?

0 投票
1 回答
95 浏览

c++ - 左值 istringstream istream_iterator 需要吗?

在 Visual Studio 中给定 astring foo我可以通过执行以下操作将单词分解为 a vector

但这不会在 gcc 5.1 中编译。我得到错误:

从类型的右值对类型std::istream_iterator<std::basic_string<char> >::istream_type&{aka }的非常量引用的无效初始化std::basic_istream<char>&std::basic_istream<char>

现在我知道 gcc 有一个由我们自己的Jonathan Wakely修复的错误。这是该错误的扩展还是我在istringstream这里使用右值是非法的?

0 投票
1 回答
60 浏览

c++ - 为什么所有列表都被填充

所以给出定义:

我写了一个提取操作符Tache

但是,当我尝试将此提取运算符与成员一起使用时,istream_iteratorprecedentTask成员似乎会渗入下一个元素。例如,给定:

Live Example

我正进入(状态:

A 3
B 4 A
C 2 AA
E 5 AAA
G 3 AAAA
J 8 AAAABH
H 7 AAAABHCEG
I 6 AAAABHCEGG
F 5 AAAABHCEGGH

而不是我的预期:

A 3
B 4 A
C 2 A
E 5 A
G 3 A
J 8 BH
H 7 CEG
I 6 G
F 5 H

我在滥用sregex_token_iterator吗?

0 投票
2 回答
81 浏览

c++ - istream_iterator 不进行零初始化

这是一个最小的、完整的、可验证的示例我知道这不是共产主义。无论如何,给定结构:

我可以执行以下操作:

然而,这给了我结果:

-1215720516 1
2 1
2 3
4 3
4 5
6 5
6 7
8 7
8 9
0 9

要零初始化,Foo我可以编写代码:

这给了我我的预期结果:

0 1
2 0
0 3
4 0
0 5
6 0
0 7
8 0
0 9
0 0

我知道拥有一个不完全覆盖变量的提取运算符是粗略的。这最初源于我在此处的回答此处的问题,在我看来,我更自然地期望在读取之间对变量进行零初始化。在任何情况下,是否可以使用这样的变量在读取之间初始化为零,或者我必须使用-loop?istream_iteratorfor

0 投票
0 回答
147 浏览

c++ - 如何在不需要重置流的情况下使用 istream_iterator?

我已经写了这个答案:httpsistream_iterator<int> : //stackoverflow.com/a/40181583/2642059 在其包含循环读入标头之后,它使用一个来读入整数。所以文本的格式如下:

HR0
012312010
001230202

HR1
012031020
012320102
012323222
012321010

HR2
321020202

我在:istringstream input。我希望能够使用 a 读取整数istream_iterator<int>(input),但这会一直读取,直到它找到一个非int ,然后将坏位设置为input

有没有办法可以避免这种情况,或者我每次istream_iterator<int>阅读结束时都必须清除坏位?

0 投票
0 回答
365 浏览

c++ - 设置任意结束 istream_iterator

我是否可以设置istream_iterator默认构造的结尾以外的结尾?

一个用例是vector<int>用 的前 13 个元素初始化 a istream_iterator<int>vector<int>{ istream_iterator<int>(cin), x)wherex是一个距离 13 个元素的迭代器istream_iterator<int>(cin)

0 投票
2 回答
252 浏览

c++ - 在 C++ 中,是否可以实现一个迭代器接口,其中推进使“当前”元素无效?

我正在设计一个 C++ 接口,它允许用户迭代从文件解码的对象。这个解码过程有点慢。

我正在为此考虑一个迭代器接口,但我想避免任何不必要的复制,所以我正在考虑(用户方面):

object在前面的用法示例中是对迭代器实例内部对象的引用。

这是错的吗?您会在这里建议哪些其他惯用接口?

我想到了一个流接口(想想std::istream),但是 AFAIK,读取数据的方法也返回副本(它们提取字符)。

0 投票
3 回答
102 浏览

c++ - istream_iterator 从流中消耗太多

我从标准输入得到以下输入:

第一行代表队列的数量(我们称之为 value n)。然后,对于每个队列,在第一行有一个l表示队列长度的值,然后是实际队列。

我正在尝试使用istream_iterator如下方式将队列放入向量中:

此代码产生以下输出:

如您所见,第一个队列已正确读取。但第二个l应该是5,不是2

发生了5什么?它被迭代器消耗了吗?我在哪里犯了错误?

0 投票
0 回答
655 浏览

c++ - 保存 istream 位置供以后使用

我在下面编写了应该保存 istream 迭代器的代码。我想要的是保留迭代器以便以后复制到给定位置的字符串。这工作正常,直到我将流重置为开头。输出是“teet”之二我想要“tees”。有没有办法使迭代器独立于流位置?

0 投票
1 回答
316 浏览

c++ - std::istream_iterator成员变量在递增时失败

我有一个程序如下:

在执行这个程序时,它是核心转储。我知道它只有在执行语句时才会发生 ++streamHandle;

因此,我在不使用以下类的情况下实现了相同的功能,并且效果很好。

您能否帮我确定在创建类并std::istream_iterator<double>从类中迭代时出了什么问题。