Я возвращаю std::ostream
каждый раз, когда я собираюсь создать оператора, такого как оператор std::string
, чтобы показать значение (без оператора), но я не знаю почему. Если std::ofstream
используется в качестве функции-функции функции-оператора (std::cout
), как я могу его вернуть, когда я должен это делать и почему?Когда мне следует возвращать std :: ostream?
Пример:
class MyClass
{
int val;
std::ostream& operator<<(const std::ostream& os, const MyClass variable)
{
os << variable.val;
}
}
На std::string
:
std::string a("This is an example.");
std::cout << a;
Пожалуйста, дать хотя бы конкретные примеры. Не совсем понятно, что вы спрашиваете. –
«Строковый оператор», используйте функцию «ofstream as function» ??? Что, черт возьми, это значит? – texasbruce
@texasbruce Когда я говорю 'std :: ofstream' как функцию, я имею в виду' std :: cout << variable' (см. Edit). –