Defined in header <complex> | ||
|---|---|---|
template< class T, class CharT, class Traits >
std::basic_ostream<CharT, Traits>&
operator<<( std::basic_ostream<CharT, Traits>& os, const std::complex<T>& x );
| (1) | |
template< class T, class CharT, class Traits >
std::basic_istream<CharT, Traits>&
operator>>( std::basic_istream<CharT, Traits>& is, std::complex<T>& x );
| (2) |
os the complex number in the form (real, imaginary).is. The supported formats are real (real) (real, imaginary) where the input for real and imaginary must be convertible to T. If an error occurs calls is.setstate(ios_base::failbit).
May throw std::ios_base::failure on stream errors.
| os | - | a character output stream |
| is | - | a character input stream |
| x | - | the complex number to be inserted or extracted |
os
is
std::showpoint which forces the decimal separator to be visible. 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();
} |
#include <complex>
#include <iostream>
int main()
{
std::cout << std::complex<double> {3.14, 2.71} << '\n';
}Possible output:
(3.14,2.71)
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/numeric/complex/operator_ltltgtgt