operator<<,>> (std::complex)
|
Определено в заголовочном файле
<complex>
|
||
|
template
<
class
T,
class
CharT,
class
Traits
>
std::
basic_ostream
<
CharT, Traits
>
&
|
(1) | |
|
template
<
class
T,
class
CharT,
class
Traits
>
std::
basic_istream
<
CharT, Traits
>
&
|
(2) | |
- real
- ( real )
- ( real, imaginary )
где входные данные для real и imaginary должны быть преобразуемы в T .
При возникновении ошибки вызывает is. setstate ( ios_base :: failbit ) .
Содержание |
Исключения
Может выбросить std::ios_base::failure при ошибках потока.
Параметры
| os | - | поток вывода символов |
| is | - | поток ввода символов |
| x | - | комплексное число для вставки или извлечения |
Возвращаемое значение
Примечания
Возможная реализация
template<class T, class CharT, class Traits> basic_ostream<CharT, Traits>& operator<<(basic_ostream<CharT, Traits>& o, const complex<T>& x) { basic_ostringstream<CharT, Traits> s; s.flags(o.flags()); s.imbue(o.getloc()); s.precision(o.precision()); s << '(' << x.real() << ',' << x.imag() << ')'; return o << s.str(); } |
` и `` оставлен без изменений, как и требовалось. HTML-разметка и атрибуты также сохранены в оригинальном виде.
Пример
#include <complex> #include <iostream> int main() { std::cout << std::complex<double> {3.14, 2.71} << '\n'; }
Возможный вывод:
(3.14,2.71)