cb42a_c++_STL_算法_替换_replace
replace(b,e,ov,nv),ov,old value, nv,new value
replace_if(b,e,p,v) 根据p的条件,全部更换成v的值
replace_copy(b1,e1,b2,ov,nv)//边复制变替换
replace_copy_if(b1,e1,b1,p,v)

error C2760: 语法错误: 意外的令牌“标识符”,预期的令牌为“;”
vs2017打开项目工程----> 属性 ---> c/c++ --> 语言 --> 符合模式 修改成否即可

bind2nd(less<int>(), 5),预定义函数对象,需要包含functional头文件名。
error C2955: “std::ostream_iterator”: 使用 类 模板 需要 模板 参数列表
ostream_iterator(cout, " ")少了一个<int>
ostream_iterator<int>(cout," ")

1>d:\users\txwtech\projects\cb42a\cb42a\cb42a.cpp(63): error C2672: “replace_if”: 未找到匹配的重载函数
1>d:\users\txwtech\projects\cb42a\cb42a\cb42a.cpp(63): error C2780: “void std::replace_if(const _FwdIt,const _FwdIt,_Pr,const _Ty &)”: 应输入 4 个参数,却提供了 5 个
参数写法错误。
replace_if(ilist2.begin(), ilist2.end(), ostream_iterator<int>(cout, " "), 5, 55);
正确写法:
replace_if(ilist.begin(), ilist.end(), bind2nd(less<int>(), 5), 0);

error C2275: “std::modulus<int>”: 将此类型用作表达式非法
bind2nd(modulus<int>(), 2),预定义函数对象<in>后面的小括号不要忘记了。

ostream_iterator<int>(cout, " ")流输出对象 ,#include <iterator>

 /*cb42a_c++_STL_算法_替换_replace
replace(b,e,ov,nv),ov,old value, nv,new value
replace_if(b,e,p,v) 根据p的条件,全部更换成v的值
replace_copy(b1,e1,b2,ov,nv)//边复制变替换
replace_copy_if(b1,e1,b1,p,v) error C2760: 语法错误: 意外的令牌“标识符”,预期的令牌为“;”
vs2017打开项目工程----> 属性 ---> c/c++ --> 语言 --> 符合模式 修改成否即可 bind2nd(less<int>(), 5),预定义函数对象,需要包含functional头文件名。
error C2955: “std::ostream_iterator”: 使用 类 模板 需要 模板 参数列表
ostream_iterator(cout, " ")少了一个<int>
ostream_iterator<int>(cout," ") 1>d:\users\txwtech\projects\cb42a\cb42a\cb42a.cpp(63): error C2672: “replace_if”: 未找到匹配的重载函数
1>d:\users\txwtech\projects\cb42a\cb42a\cb42a.cpp(63): error C2780: “void std::replace_if(const _FwdIt,const _FwdIt,_Pr,const _Ty &)”: 应输入 4 个参数,却提供了 5 个
参数写法错误。
replace_if(ilist2.begin(), ilist2.end(), ostream_iterator<int>(cout, " "), 5, 55);
正确写法:
replace_if(ilist.begin(), ilist.end(), bind2nd(less<int>(), 5), 0); error C2275: “std::modulus<int>”: 将此类型用作表达式非法
bind2nd(modulus<int>(), 2),预定义函数对象<in>后面的小括号不要忘记了。 ostream_iterator<int>(cout, " ")流输出对象 ,#include <iterator>
*/ #include <iostream>
#include <algorithm>
#include <vector>
#include <list>
#include <functional>
#include <iterator> using namespace std;
template <typename TT>
void print(TT &ilist)
{
for (TT::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)
cout << *iter << ' ';
cout << endl;
} int main()
{
list<int> ilist;
for (int i = ; i <= ; ++i)
ilist.push_back(i);
for (int i = ; i <= ; ++i)
ilist.push_back(i);
print(ilist);
/*for (list<int>::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)
cout << *iter << ' ';
cout << endl;*/ cout << "所有6替换成42" << endl;
replace(ilist.begin(), ilist.end(), , );
print(ilist); cout << "小于5的数替换成0" << endl;
replace_if(ilist.begin(), ilist.end(), bind2nd(less<int>(), ), );
print(ilist); list<int>ilist2;
for (int i = ; i <= ; ++i)
ilist2.push_back(i);
for (int i = ; i <= ; ++i)
ilist2.push_back(i);
print(ilist2); cout << "边复制,边替换,5,替换成55,直接输出到cout" << endl;
replace_copy(ilist2.begin(), ilist2.end(), ostream_iterator<int>(cout, " "), , );
cout << endl;
cout << "边复制,边替换,小于5,替换成42,直接输出到cout" << endl;
replace_copy_if(ilist2.begin(), ilist2.end(), ostream_iterator<int>(cout, " "), bind2nd(less<int>(), ), ); cout << endl;
cout << "边复制,边替换,取模2为1时,替换成0,直接输出到cout" << endl;
cout << "就是所有奇数替换成0" << endl;
replace_copy_if(ilist2.begin(), ilist2.end(), ostream_iterator<int>(cout, " "), bind2nd(modulus<int>(), ), );
return ;
}

cb42a_c++_STL_算法_替换_replace的更多相关文章

  1. cb51a_c++_STL_算法_根据第n个元素排序nth_element

    cb51a_c++_STL_算法_根据第n个元素排序nth_elementnth_element(b,n,e),比如最大的5个数排序,或者最小的几个数nth_element(b,n,e,p)对比:pa ...

  2. cb50a_c++_STL_算法_局部排序partial_sort

    cb50a_c++_STL_算法_局部排序partial_sort partial_sort(b,se,e)排序一部分,begin,source end,endcout << " ...

  3. cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort

    cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort sort(b,e) sort(b,e,p) stable_sort(b,e) stable_sort(b,e,p) ...

  4. cb48a_c++_STL_算法_重排和分区random_shuffle_stable_partition

    cb48a_c++_STL_算法_重排和分区random_shuffle_stable_partition random_shuffle()//重排,随机重排,打乱顺序 partition()分区,把 ...

  5. cb47a_c++_STL_算法_排列组合next_prev_permutation

    cb47a_c++_STL_算法_排列组合next_prev_permutation 使用前必须先排序.必须是 1,2,3或者3,2,1.否者结果不准确.如果, 1,2,4,6.这样数据不会准确nex ...

  6. cb46a_c++_STL_算法_逆转和旋转reverse_rotate函数advance

    cb46a_c++_STL_算法_逆转和旋转reverse_rotateSTL算法--变序性算法reverse() 逆转reverse_copy()一边复制一般逆转rotate()旋转,某个位置开始前 ...

  7. cb45a_c++_STL_算法_删除_(3)_unique(唯一的意思)删除连续性的重复的数据

    cb45a_c++_STL_算法_删除_(3)_unique(唯一的意思)删除连续性的重复的数据unique(b,e),删除连续性的,删除重复的数据,比如如果有两个连续的5,5,则留下一个.uniqu ...

  8. cb44a_c++_STL_算法_删除_(2)remove_copy_remove_copy_if

    cb44a_c++_STL_算法_删除_(2)remove_copy_remove_copy_if remove_copy()//在复制过程中删除一些数据remove_copy_if() 删除性算法: ...

  9. cb43a_c++_STL_算法_删除_(1)remove_remove_if

    cb43a_c++_STL_算法_删除_(1)remove_remove_ifremove()remove_if() 注意:1.并不是真正的删除,而是把后面的元素向前移动,覆盖被删除元素,元素个数并没 ...

随机推荐

  1. spring的动态代理实现

    Host.java package cn.zys.dynamiproxy; public class Host implements Rent{ public void rent(){ System. ...

  2. h5 编辑单选框的样式

    radio单选框样式设置 input[type=radio] { display: inline-block; vertical-align: middle; width: 20px; height: ...

  3. JMeter中BeanShell Sampler

    https://blog.51cto.com/11009785/2385492?source=dra 1.jmeter报错 jmeter.protocol.java.sampler.BeanShell ...

  4. vue中使用vue-qrcode生成二维码

    要使用二维码,引入一个包就可以了,使用非常简单,话不多说,看代码吧 //1,引入, import VueQrcode from '@xkeshi/vue-qrcode'; Vue.component( ...

  5. 谈谈C#多线程开发:并行、并发与异步编程

    阅读导航 一.使用Task 二.并行编程 三.线程同步 四.异步编程模型 五.多线程数据安全 六.异常处理 概述 现代程序开发过程中不可避免会使用到多线程相关的技术,之所以要使用多线程,主要原因或目的 ...

  6. idea本地Maven仓库不能下载依赖jar包的解决方案

    1.确认maven是否正正常安装,是否配置了环境变量,可以通过命令 mvn -version 看是否显示maven的版本信息. 2.检查maven的setting.xml配置文件中本地仓库位置配置是否 ...

  7. hexo命令提示 hexo <command>

    所有的hexo命令执行后都会提示 hexo <command> 解决方法: 通过hexo init blog命令初始化一个博客后,应该cd /blog 转到博客目录

  8. 50个SQL语句(MySQL版) 问题二

    --------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...

  9. zabbix通过IPMI监控服务器传感器参数

    一.需求:机房dell服务器和IBM服务器皆有主板管理接口iDRAC和iMM,上周已为服务器管理接口配置了ip地址,考虑通过zabbix实现对服务器传感器参数的实时监控.使用DELL-DL1300服务 ...

  10. Rocket - diplomacy - misaligned

    https://mp.weixin.qq.com/s/poCJBcx45clXHm6Uuv8M6w 介绍AddressSet.misaligned的实现.之前介绍的比较概括,也有偏差.这里根据实际执行 ...