0
点赞
收藏
分享

微信扫一扫

Apple developer证书、标识符和描述文件

勇敢的趙迦禾 2023-10-07 阅读 45
#include <algorithm>
#include <iterator>
#include <vector>
#include <iostream>
using namespace std;
template <class tc,class ta,class tb>
void fun1(ta a, ta b, tb c) /*a,b*/
{
    vector <tc> v1(a,b);  
    sort(v1.begin(), v1.end());    //算法参数尽量使用迭代器
    copy(v1.begin(), v1.end(), c);
};

int main()
{
    int sz[5] = { 5,2,3,4,1 };
    fun1<int,int *,ostream_iterator<int>>(sz, sz + 5, ostream_iterator<int>(cout, " "));
    cout << endl;
    fun1<int,istream_iterator<int>,ostream_iterator<int>>(istream_iterator<int>(cin),istream_iterator<int>(),ostream_iterator<int>(cout," "));
    cout << endl;
}

我觉得需要注意的地方有:

1:sort,copy这些STL算法模板函数的参数最好使用迭代器,就是那种自带的迭代器,不是自己定义的那种。我是说尽量。

2:调用模板的时候后面2个参数可以省略。

3:在输入数据的时候每个数字之间要使用空格隔开,否则会被识别为同一个数字,就不会排序了。

4:输入完全部数字后使用CTRL+Z 然后再使用enter键结束输入,这是所有标准输入流结束的结束方式

5:你现在要怎么感谢我

举报

相关推荐

0 条评论