Где следует размещать перегрузки операторов, не являющихся членами?
Я хочу перегрузитьoperator<<
для моего класса. Должен ли я добавить это перегруженное определение кstd
Пространство имен? (так какostream operator<<
является частьюstd
namespace) Или я должен просто оставить его в глобальном пространстве имен?
Короче:
class MyClass {
};
namespace std {
ostream& operator<< ( ostream& Ostr, const MyClass& MyType ) {}
}
ИЛИ ЖЕ
class MyClass {
};
std::ostream& operator<< ( std::ostream& Ostr, const MyClass& MyType ) {}
Что более уместно и почему? Заранее спасибо за ваши ответы.