вторник, 2 апреля 2019 г.

std::set - как с ним работать?

Множество обладает свойством уникальности элементов. Как же там хранить какие-то сложные типы данных, как будут сравниваться элементы на равенство? Оказывается, в типе элементов просто нужно перегрузить оператор< . Вот простейший пример:

class mPair
{
        int x, y;
        public:
                mPair(int a, int b)
                {
                        x = a; y = b;
                }

                bool operator<(const mPair &p) const
                {
                        return x

                }
};

Оператор < обязательно должен быть оформлен именно таким образом - константный и с константным аргументом.

Кстати, вот статья с крайне подробным разбором std::set.

Комментариев нет: