Dan*_*Dan 1 c++ iterator istream-iterator
一种读取文件并将其作为字节数组放入向量的方法是:
std::ifstream input(filePath, std::ios::binary);
std::vector<unsigned char> barray(std::istreambuf_iterator<char>(input), {});
Run Code Online (Sandbox Code Playgroud)
据我了解,std::vector以上代码片段中使用的构造函数是
template< class InputIt >
vector( InputIt first, InputIt last,
const Allocator& alloc = Allocator() );
Run Code Online (Sandbox Code Playgroud)
因此,{}对应于last。
到底是什么{}?它像空/空迭代器一样工作吗?
因此,{}对应于last。
{}到底是什么?它像空/空迭代器一样工作吗?
这是类型的默认构造对象std::istreambuf_iterator<char>。
std::vector<unsigned char> barray(std::istreambuf_iterator<char>(input), {});
Run Code Online (Sandbox Code Playgroud)
是相同的
std::vector<unsigned char> barray{std::istreambuf_iterator<char>{input},
std::istreambuf_iterator<char>{}};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |