唯美主义 STL

Edit on Github

原文: STL Easy Study

#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>

using namespace std;

void main(void)
{
    typedef vector<int> int_vector;
    typedef istream_iterator<int> istream_itr;
    typedef ostream_iterator<int> ostream_itr;
    typedef back_insert_iterator<int_vector> back_ins_itr;

    // STL中的vector容器
    int_vector num;

    // 从标准输入设备读入整数,
    // 直到输入的是非整型数据为止
    copy(istream_itr(cin), istream_itr(), back_ins_itr(num));

    // STL中的排序算法
    sort(num.begin(), num.end());

    // 将排序结果输出到标准输出设备
    copy(num.begin(), num.end(), ostream_itr(cout,"\n"));
}

在这个程序里几乎每行代码都是和STL有关的(除了main和那对花括号,当然还有注释),并且它包含了STL中几乎所有的各大部件(容器 container,迭代器iterator, 算法algorithm, 适配器adaptor),唯一的遗憾是少了函数对象(functor)的身影。