C++for_each函数的使用
一个简单的复数类
class Complex{
int rec;
int vir;
public:
Complex(int r=0,int v=0){
rec=r;vir=v;
}
friend ostream&operator<<(ostream &os,const Complex&com);
friend class ComplexAdd;
};
ostream&operator<<(ostream&os,const Complex&com){
os<<"("<<com.rec<<","<<com.vir<<")"<<endl;
return os;
}
类实现复数的加
class ComplexAdd{
Complex com;
public:
ComplexAdd(int a,int b){
com.rec+=a;com.vir+=b;
}
};
以下是主函数里的
Complex A[] = { Complex(1, 2), Complex(3, 4), Complex(5, 6), Complex(7, 8), Complex(9, 10)};
vector<Complex> aa(A, A + 5);
for_each(aa.begin(), aa.end(), ComplexAdd(2,3));
for_each(A, A+10, ComplexAdd(5,6));
vector<Complex>::iterator p;
for ( p = aa.begin(); p != aa.end(); p++)
cout << *p;
cout << endl;
int i;
for (i = 0; i < 5; i++)
cout << A[i];
界面上已经显示语法无误。
但是编译的时候显示错误:项不会计算为接受1个参数的函数
错误指向for_each函数的源代码
template<class _InIt,class _Fn1>
inline _Fn1 _For_each(_InIt _First, _InIt _Last, _Fn1 _Func)
{ // perform function for each element
for (; _First != _Last; ++_First)
_Func(*_First);
return (_Func);
}
这什么情况?
class Complex{
int rec;
int vir;
public:
Complex(int r=0,int v=0){
rec=r;vir=v;
}
friend ostream&operator<<(ostream &os,const Complex&com);
friend class ComplexAdd;
};
ostream&operator<<(ostream&os,const Complex&com){
os<<"("<<com.rec<<","<<com.vir<<")"<<endl;
return os;
}
类实现复数的加
class ComplexAdd{
Complex com;
public:
ComplexAdd(int a,int b){
com.rec+=a;com.vir+=b;
}
};
以下是主函数里的
Complex A[] = { Complex(1, 2), Complex(3, 4), Complex(5, 6), Complex(7, 8), Complex(9, 10)};
vector<Complex> aa(A, A + 5);
for_each(aa.begin(), aa.end(), ComplexAdd(2,3));
for_each(A, A+10, ComplexAdd(5,6));
vector<Complex>::iterator p;
for ( p = aa.begin(); p != aa.end(); p++)
cout << *p;
cout << endl;
int i;
for (i = 0; i < 5; i++)
cout << A[i];
界面上已经显示语法无误。
但是编译的时候显示错误:项不会计算为接受1个参数的函数
错误指向for_each函数的源代码
template<class _InIt,class _Fn1>
inline _Fn1 _For_each(_InIt _First, _InIt _Last, _Fn1 _Func)
{ // perform function for each element
for (; _First != _Last; ++_First)
_Func(*_First);
return (_Func);
}
这什么情况?
...全文
相关推荐
C++ STL for_each函数详解[项目源码]
本文详细介绍了C++ STL中的for_each函数,包括其基本语法、参数说明、使用示例及注意事项。for_each函数常用于遍历容器并对每个元素应用特定的函数或函数对象,支持函数指针、函数对象和Lambda表达式等多种可调用对象形式。文章通过多个示例展示了for_each的实际应用,如打印元素、计算总和、修改元素值等,并提供了进阶用法和性能优化建议。
C++ Certified Professional Programmer (121-180)
C++ Certified Professional Programmer (121-180).pdf
for_each 返回值
for_each 返回值实例详解;
cPP-sum.zip_C++笔试题_SUM
里面总结了有关c++\的笔试题 笔试之前看看会很有帮助
std for-each学习笔记
std::for_each 是 C++ 标准库 <algorithm> 头文件中提供的一个算法,它允许你对一个序列(如数组、std::vector、std::list 等)中的每个元素执行指定的操作。下面详细介绍它的用法。


