istream_iterator, black magic?
istream_iterator, black magic?
我不明白为什么for_each的第二个参数是一个空迭代器。有人能给我解释一下吗?
fstream("datfile.txt");
for_each(istream_iterator<string>(datfile), istream_iterator<string>(), rand_func);
这是一个特殊的"哨兵"值,它的唯一目的是在与另一个达到EOF的istream_iterator()
进行比较时返回值true
默认构造的istream_iterator
用作指示流结束条件的哨兵。当从istream
结尾读取时,输入到for_each
的第一个迭代器将等于这个哨兵迭代器,从而终止for_each
。
相关文章:
- 静态自动 constexpr t = { "red" , "black" , "green" } 是什么类型;派生到?
- 如何在Beaglebone Black上使用RS485
- 什么是"symbolic constants"和"magic constants"?
- 我如何在 beaglebone black 上用 c++ 创建这么多线程
- 在beaglebone black上使用arm-linux-gnueabihf时跳过不兼容错误
- Arduino Uno代码可以使用交叉编译器在BeagleBone Black上运行吗
- Xcode/Clang magic numbers?
- 在没有VisualGDB的情况下,是否可以在Visual Studio上制作BeagleBone Black应用程序
- 使用Boost :: black在boost :: variant中使用时,请警告编译器
- Magic square code
- BeagleBone Black + BlackLib- 程序 + 库编译
- 在Linux上使用C/C++中的write()函数通过UART Beaglebone Black写入70kB
- Magic Square and Backtracking C++
- OpenGL "black screen"挫败感
- 如何有效地运行后台处理和记录数据(Debian,Beaglebone Black)
- 为beaglebone black交叉编译c++openCV应用程序时出现问题
- 使用着色器渲染三角形时"vertex colored" OpenGL "black screen"
- 避免对EOF C++"magic number"
- 錯誤: magic.h: 沒有這樣的文件或目錄 (MacOS X V 10.6.8)
- istream_iterator, black magic?