ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

list 3

list 3 list 2两种迭代器类模板相似度极高想办法让他们合成一个这里先看源码咋处理源码中只设计了一个迭代器类模板但是他有三个模板参数分别是 T容器存储的元素类型Ref引用类型普通迭代器传 Tconst 迭代器传 const TPtr指针类型普通迭代器传 T*const 迭代器传 const T* 后两个模板参数各自代表两种含义之前自己实现时每个模板参数只能代表一种情况所以要写两个不同迭代器类模板。现在这后两个参数对应有cons修饰和非const修饰时的情况将这两种情况分别单独列出来并重命名迭代器。self代表当前实例化出来的迭代器自身类型用于拷贝构造、赋值等。将迭代器类模板list_const_list注释现在改造迭代器类模板list_iterator改之前改之后再将模板内函数中只能代表一种情况的模板参数换为各自对应的三个模板参数T Ref Ptr如下将类模板list中的迭代器改过来反向迭代器不讲现在看看迭代器失效问题在已有的cpp文件代码最后加入如下代码栈和队列栈和队列不再是容器虽然归类到containers里面但是却是容器适配器具体原因后面讲栈后进先出 LIFO 要包含对应的头文件队列先进先出 要包含对应的头文件
返回列表