Перегрузка оператора , (comma)

Тема в разделе "Общие вопросы по С и С++", создана пользователем -, 8 апр 2006.

Статус темы:
Закрыта.
  1. Гость

    Лазил по MSDN 2005 и наткнулся на таблицу перегрузки операторов.
    В эту таблицу включён оператор ',' (comma), причём, если верить таблице, его можно перегружать.

    Вопросы такие:
    1. Действительно ли его можно перегружать
    2. Если можно, то для чего перегрузку можно использовать

    PS. В C++ я не чайник, знаю его хорошо. Что такое перегрузка знаю и использовал. Меня интересует как практически можно использовать перегрузку этого оператора.
     
  2. _setkh

    _setkh Гость

    первое что в голову пришло
    для создания ф-ии с произвольным числом параметров одного типа
    (удобство записи)
    Код (Text):
    #include <vector>

    using std::vector;

    template<class _Tp> class Vector
     : private vector<_Tp>
    {
    private:
     typedef vector<_Tp> _Base;
     typedef Vector<_Tp> _Self;
    ...
    public:
     _Self& operator,(const _Tp& __obj)
     {
       _Base::push_back(__obj);
       return *this;
     }
    };
    ...
    void F(const Vector<int>& __obj)
    {
    ...
    }

    int main()
    {
     Vector<int> a;
     F((a,1,2,3,4,5,6,7,8,9,10));
    }
     
  3. ZZmiy

    ZZmiy Гость

    Хочется отметить, что перегружать этот оператор (а также операторы && и ||) не рекомендуется (в частности, см. "CPP Coding Standards - 101 Rules, Guidelines, and Best Practices" By Herb Sutter, Andrei Alexandrescu).
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей