考虑以下代码:
std::vector<long> d(3);
d[0] = 0;
d[1] = 1;
d[2] = 2;
std::ofstream f("d:/ofstream.txt", std::ios_base::binary);
std::ostream_iterator<long> out(f);
std::copy(std::begin(d), std::end(d), out);
由于文件大小仅为3字节,因此它被写为char
而不是long
。在这种情况下我能使用std::ostream_iterator
吗?
我无法理解它在这里的行为。
ostreambin_iterator
模型的ostream_iterator
来说,前置和后置递增运算符是无操作的。这是有道理的,因为流本身管理底层缓冲区中的位置、插入等操作。 - Niall