- #include
- #include
- #include
- #include
- using namespace std;
- template <class tc,class ta,class tb>
- void fun1(ta a, ta b, tb c) /*a,b*/
- {
- vector
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:你现在要怎么感谢我