摘要:
STL迭代器分类:input迭代器、output迭代器、forward迭代器、bidirectional迭代器、random access迭代器。 Input迭代器:只能向前移动,一次一步,客户只读取(不可写)他们所指的东西,而且只能读取一次。C++程序库中的istream_iterators就是input迭代器:模仿指向输入文件的阅读指针。 Output迭代器:只能向前移动,一次一步名客户只可写... 阅读全文
摘要:
真实指针支持隐式转换:1)Derived class指针可以隐式转换为Base class指针;2)"指向non-const对象"的指针可以转换成"指向const对象"的指针。 智能指针:必须编写一个成员函数模板。因为我们无法写出所有的智能指针的构造函数,一旦Derived体系有新的补充就又要根据其 阅读全文
摘要:
编写non-template代码中,重复十分明显:可以很直观的看到代码的重复,然后将它们写成一个新的class或者函数,然后供调用。 编写template代码中,重复是隐晦的:只存在一份template源代码,所以必须训练自己去感受template具现化多次时可能发生的重复。 Template生成多个classes和多个函数,所以任何template代码都不该与某个造成膨胀的template参... 阅读全文