ostream_iterator详细解析

      ostream_iterator属于I/O流STL适配器,用于获取一个元素,同时保存在缓冲器中,可以供Cout输出。如果把cout看做成一个对象,那么在Cout对象当中存在一片用于数据存储的区域。ostream_iterator在STL中一般配合copy函数一起使用,如下代码;

   ostream_iterator output(cout, " "); //关联cout,设置分隔符
    copy(ivec.begin(), ivec.end(), output); //元素拷贝到ostream_iterator所指向的对象cout
    cout; //显示cout的值

    ostream_iterator中,template如果是一个类名称的时候,那么这个类必须实现重载”

class Person
{
public:
        Person(const string& firstname,const string& lastname)
        {
                this->firstname=firstname;
                this->lastname=lastname;
        }
//如果没有const,那么下面的copy()会报告一堆错误,重载为const是一个好习惯
        friend ostream& operator         {
                os        }
private:
        string firstname ;
        string lastname ;
        friend class PersonSort;
};
class PersonSort
{  
public:
        bool operator()(const Person& p1,const Person& p2) const
        {
                return (p1.lastname        }
};
int main()
{
        typedef set PersonSet;
        PersonSet ps;
        ps.insert(Person("hongjian","chen"));
        ps.insert(Person("lizhong","li"));
        ps.insert(Person("xuan","liu"));
copy(ps.begin(),ps.end(),ostream_iterator(cout,"/n"));
return 0;
}

      另外、
template    class _Tr = char_traits<_e> >
    class ostream_iterator
        : public iterator

  从这段代码中亦可以发现,ostream_iterator继承iterator,iterator通过output_iterator_tag来标记定义的iterator为ostream适配器。

时间: 2024-09-15 16:34:44

ostream_iterator详细解析的相关文章

Photoshop详细解析古风人像的摄影和后期过程

  本教程主要使用Photoshop详细解析古风人像的摄影和后期过程,拍摄古风作品前,我们首先要了解什么是古风.我理解的古风为"具有古代韵味气息的文化及作品",所以在拍摄前后均围绕"古代韵味"做文章.既然构思的是清妆古韵,那在后期处理上自然就选择了偏冷的色调. 一.拍摄部分 1.场景 原计划是去青城山,因为当天拍摄时间有限,最后选择在市区内的望江公园,这个场地很多摄影师都去拍过,为了避免重复,我们没有去标志性的建筑拍摄,或者说有意避开了"热门"拍

Photoshop详细解析室内婚片婚宴的整体色彩处理教程

  中国婚礼由于传统因素影响,婚礼与婚宴同时进行,婚礼现场拍摄很大一部份在室内进行,这些场合环境灯光昏暗,人员众多,画面效果很难保障.如何简单有效处理婚礼现场照,就需要后期上打开思路了,这里为大家介绍几种简单有效的方法,轻松搞定婚礼现场. 效果图 原图 该片在酒店中婚礼进行时拍摄,新人即将走向红毯彼端,场面温馨浪漫,只是现场灯光很暗,只有一个追光灯做为主光源,拍摄出的画面整体为黑色,画面的氛围就差了很多,因此,处理该图时暗部的处理尤为重要. 具体操作如下: 1.首先利用阴影高光工具将画面暗部层次

JSP开发的安全编程实例详细解析

js|安全|编程 Java Server Page(JSP)作为建立动态网页的技术正在不断升温.JSP和ASP.PHP.工作机制不太一样.一般说来,JSP页面在执行时是编译式,而不是解释式的.首次调用JSP文件其实是执行一个编译为Servlet的过程. 当浏览器向服务器请求这一个JSP文件的时候,服务器将检查自上次编译后JSP文件是否有改变,如果没有改变,就直接执行Servlet,而不用再重新编译,这样,效率便得到了明显提高. 今天我将和大家一起从脚本编程的角度看JSP的安全,那些诸如源码暴露类

[CSS基础教程]background属性详细解析

CSS背景图像属性background详细解析 CSS的背景属性"background"提供了众多属性值,如颜色.图像.定位等,为网页背景图像的定义提供了极大的便利.看看background提供的属性值: background : background-color  | background-image  | background-repeat  | background-attachment  | background-position 从属性值的名字就可以很明白的看出来,分别是:颜

Firebug控制台详细解析

Firebug是网页开发的利器,能够极大地提升工作效率. 但是,它不太容易上手.我曾经翻译过一篇<Firebug入门指南>,介绍了一些基本用法.今天,继续介绍它的高级用法. 控制台(Console)是Firebug的第一个面板,也是最重要的面板,主要作用是显示网页加载过程中产生各类信息. 一.显示信息的命令 Firebug内置一个console对象,提供5种方法,用来显示信息. 最简单的方法是console.log(),可以用来取代alert()或document.write().比如,在网页

Photoshop详细解析替换颜色的使用技巧

  Photoshop详细解析替换颜色的使用技巧           任何一种功能,不会用或不喜欢用,都是因为你对这个功能的本身不了解,对里面的一些后期处理不熟悉.任何的功能都会造成误选,后期能不误选的解决掉,就是高手. 1.什么是"替换颜色"功能 2.你为什么不会用"替换颜色" 3.使用案例 1.什么是"替换颜色"功能 "替换颜色"其实是"色彩范围"+"色相"的一个组合功能.它的使用就

详细解析Ruby中的变量

这篇文章主要介绍了详细解析Ruby中的变量,是Ruby学习中最基础的知识之一,需要的朋友可以参考下 变量持有要使用的程序的数据的存储位置. Ruby支持的有五种类型的变量.在前面的章节中已经经历了一个简短描述以及这些变量.本章中介绍的这五种类型的变量. Ruby的全局变量: 全局变量以$开头.未初始化的全局变量的值是零,并使用-w选项产生警告. 全局变量的赋值会改变全局状态.这是不推荐使用全局变量.他们使得程序的含义模糊. 下面是一个例子显示使用全局变量. ? 1 2 3 4 5 6 7 8 9

详细解析Python中

  这篇文章主要介绍了详细解析Python中__init__()方法的高级应用,包括在映射和elif序列等地方的更为复杂的用法,需要的朋友可以参考下 通过工厂函数对 __init__() 加以利用 我们可以通过工厂函数来构建一副完整的扑克牌.这会比枚举所有52张扑克牌要好得多,在Python中,我们有如下两种常见的工厂方法: 定义一个函数,该函数会创建所需类的对象. 定义一个类,该类有创建对象的方法.这是一个完整的工厂设计模式,正如设计模式书所描述的那样.在诸如Java这样的语言中,工厂类层次结

javascript遍历控件实例详细解析

 这篇文章详细解析了javascript遍历控件实例,有需要的朋友可以参考一下 js遍历页面控件, 代码如下:  var inputArr = document.forms[0];    for( var i = 0; i < inputArr.length; i++ ) {     if( inputArr[i].type.toUpperCase() == "BUTTON" ) {      inputArr[i].disabled="disabled";