设为首页 加入收藏

TOP

4.5.2 交换数组
2013-10-07 15:00:22 来源: 作者: 【 】 浏览:63
Tags:4.5.2 交换

4.5.2  交换数组

我们先来看一下boost::swap最简单的用法--交换两个数组的内容,它要求参与交换的两个数组必须具有相同的长度。下面的代码使用标准库算法fill_n将两个数组分别赋值为5和20,然后调用boost::swap()交换:

  1. int a1[10];                             //两个数组  
  2. int a2[10];  
  3.  
  4. std::fill_n(a1, 10, 5);                 //fill_n赋初始值  
  5. std::fill_n(a2, 10, 20);  
  6.  
  7. boost::swap(a1, a2);                        //交换两个数组的内容  

boost::swap交换数组内容的实现很简单,它使用了一个for循环,对数组中的每个元素调用单个元素版的boost::swap完成整个数组内容的交换。在上面的代码执行后a1中元素的值将为20,而a2中元素的值将为5。

如果企图用boost::swap交换两个长度不相同的数组,那么将无法通过编译:

  1. int a1[10], a2[12];                     //两个长度不相同的数组  
  2. boost::swap(a1, a2);                        //发生编译错误  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.5.5 使用建议 下一篇4.4.6 高级用法

评论

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