stl list

 

stlÀÇ list »ç¿ë¹ýÀ» °£´ÜÈ÷ º¸ÀÚ.

Student Ŭ·¡½º¸¦ ¸¸µé°í std::find()¸¦ Çϱâ À§ÇØ, Student Ŭ·¡½º¿¡ operator== ¿¬»êÀÚ¸¦ Ãß°¡ ÇÑ´Ù.

#include <stdio.h>

#include <string>

#include <list>

#include <stdlib.h>

#include <algorithm>

#include <iostream>

 

 

class Student

{

public:

    int    m_num;

    std::string m_name;

 

public:

    Student( int num, const char* name )

    {

        m_num = num;

        m_name = name;

    }

 

    int operator==( const Student& stu ) const

    {

        return ( stu.m_num == m_num && stu.m_name == m_name );

    }

};

 

typedef std::list<Student> StudentList;

 

void main()

{

    StudentList list;

 

    for( int i = 0; i < 10; ++i )

    {

        list.push_back( Student( i, "king" ) );

    }

 

    StudentList::iterator it = list.begin();

    for( ; it != list.end(); ++it )

    {

        Student& stu = *it;

        std::cout << "num: " << stu.m_num << "  " << stu.m_name << std::endl;

    }

 

    StudentList::iterator findIt = std::find( list.begin(), list.end(), Student( 7, "king") );

    if( findIt != list.end() )

    {

        std::cout << "found student" << std::endl;

    }

}

 

[Âü°í or Æß ]

http://www.korone.net/bbs/board.php?bo_table=etc_misc&wr_id=82&page=3