设为首页 加入收藏

TOP

条款4:可重用性最高的泛型容器--之一
2013-10-07 15:18:03 来源: 作者: 【 】 浏览:69
Tags:条款 重用 最高 容器 之一

条款4:可重用性最高的泛型容器--之一

在使用本条款所讲述的这个简单容器类时,你能够达到什么样的灵活程度?提示:通过本条款的学习,你将掌握更多关于成员模板的知识。

对于下面定长(fixed-length)的vector类,如何以最优的方式来实现其拷贝构造函数和拷贝赋值运算符函数?如何为构造过程和赋值过程实现最大限度的可用性?提示:考虑客户代码可能以什么样的方式来使用这些函数。

  1. template<typename T, size_t size>   
  2. class fixed_vector  
  3. {  
  4. public:  
  5.   typedef T*       iterator;  
  6.   typedef const T* const_iterator;  
  7.   iterator          begin()          { return v_; }  
  8.   iterator          end()            { return v_+size; }  
  9.   const_iterator    begin()  const { return v_; }  
  10.   const_iterator    end()     const { return v_+size; }  
  11. private:  
  12.   T v_[size];  
  13. };  

注意:此处暂时不去关心这个类中的其他问题。我们并不打算使这个容器类完全符合STL规范,因此在这个类中至少存在着一个微妙的问题。选择这个类只是为了在一个简化的环境中说明一些重要问题。

解答

对于本条款的解答,我们的处理方式与前面将有所不同。这里给出一个推荐解答,然后你的任务就是对这个解答进行分析和讨论。现在,我们来看看条款5。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇条款2:大小写不敏感的字符串--之.. 下一篇Qt中的C++技术 目录

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: