我目前有以下函数来读取原始数据的数组或向量(_readStream
是 a std::ifstream
):
template<typename IteratorType>
inline bool MyClass::readRawData(
const IteratorType& first,
const IteratorType& last,
typename std::iterator_traits<IteratorType>::iterator_category* = nullptr
)
{
_readStream.read(reinterpret_cast<char*>(&*first), (last-first)*sizeof(*first));
return _readStream.good();
}
第一个问题:这个功能对你来说还可以吗?
当我们直接读取一块内存时,它只有在内存块 from first
tolast
在内存中是连续的情况下才会起作用。如何检查?