2月21日,项目正式开始第二天。
依照昨天设计的框架和接口,我们开始实现这些功能,不过似乎大家的进展都比较慢,特别是XophiiX,似乎他陷入了困境之中。
具体是什么问题呢?请看下面的接口定义:
class CReader
{
// ...
public:
template <class ForwardIterator, class InsertIterator>
bool ReadFile(ForwardIterator &input, InsertIterator &output);
};
为了让ReadFile尽量的通用并且完全不依赖于输入和输出的具体介质,我们把ReadFile设计成模板方法,入口参数是输入和输出的iterator。实际上,input接受的是istream_iterator<char>,output接受的是一个deque的inserter。这件事本身应该还不算艰深,只是XophiiX原来并没有关注过iterator的用法,不了解inserter的重大作用,也不清楚模板的成员方法如何实现,使得他实现这个接口时非常郁闷,只好慢慢的翻C++ Primer。
文章来源于领测软件测试网 https://www.ltesting.net/