其他分享
首页 > 其他分享> > 29

29

作者:互联网

 1 #include <iostream>
 2 #include <string>
 3 using namespace std;
 4 template<class T,class Pred>  
 5 T* Filter(T* p,T* q,T* s,Pred op){
 6     while(p < q){
 7         if(op(*p)){
 8             *s = *p;
 9             ++ s;
10         }
11         ++ p;
12     }
13     return s;
14 }
15 bool LargerThan2(int n)
16 {
17     return n > 2;
18 }
19 bool LongerThan3(string s) 
20 {
21     return s.length() > 3;
22 }
23 
24 string as1[5] = {"Tom","Mike","Jack","Ted","Lucy"};
25 string as2[5];
26 int  a1[5] = { 1,2,3,4,5};
27 int a2[5];
28 int main() {
29     string * p = Filter(as1,as1+5,as2,LongerThan3);
30     for(int i = 0;i < p - as2; ++i)
31         cout << as2[i];
32     cout << endl; 
33     int * p2 = Filter(a1,a1+5,a2,LargerThan2);
34     for(int i = 0;i < p2-a2; ++i)
35         cout << a2[i] << ",";
36     return 0;
37 }

 

标签:as2,as1,return,string,int,29,++
来源: https://www.cnblogs.com/balabalabubalabala/p/16691293.html