【问题标题】:using stl list and class in C++在 C++ 中使用 stl 列表和类
【发布时间】:2013-02-23 21:59:02
【问题描述】:

我需要写什么(在“?!?!?!”) 如果我想通过迭代器iter 打印所有名称? 该类只有名称,c

//the code
    class H {
        string name;
    public :
        H (string n="WWW"): name(n){}
        string getName()const{return name;};
    };

    void main ()
    {
        H h1("HHH");
        H h2;
        list<H*> HH;
        list<H*>::iterator iter=HH.begin();

        HH.insert(iter,h1);
        HH.insert(iter,h2);

        for (; iter != HH.end(); iter++)
            cout<<iter  //?!?!?!
    }                                                       

【问题讨论】:

    标签: c++ list stl


    【解决方案1】:

    std::cout &lt;&lt; (*iter)-&gt;getName() &lt;&lt; '\n';

    或者你想要的任何分隔符,除了换行符。

    另外,您的insert 行是错误的,因为h1h2 的类型为H,而容器的类型为H*

    【讨论】:

    • @ChristianRapp:这是不正确的。 insert 增加了容器的大小,所以虽然它们都插入到相同的位置,但结果是列表包含两个元素。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多