114 lines
9.5 KiB
HTML
114 lines
9.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh">
|
|
<head><meta http-equiv="x-ua-compatible" content="ie=edge">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<title>operator<<,>>(std::complex)</title>
|
|
<link rel="stylesheet" href="ext.css" />
|
|
<link rel="stylesheet" href="site_modules.css" />
|
|
</head>
|
|
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_numeric_complex_operator_ltltgtgt skin-cppreference2 action-view cpp-navbar">
|
|
<div id="cpp-content-base">
|
|
<div id="content"><a id="top"></a>
|
|
<h1 id="firstHeading" class="firstHeading">operator<<,>><span class="t-dsc-small">(std::complex)</span></h1>
|
|
<div id="bodyContent">
|
|
<div id="contentSub"><span class="subpages">< <a href="cpp.html">cpp</a>‎ | <a href="cpp-numeric.html">numeric</a>‎ | <a href="cpp-numeric-complex.html">complex</a></span></div>
|
|
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
|
|
<table class="t-dcl-begin">
|
|
<tbody>
|
|
<tr class="t-dsc-header">
|
|
<td>
|
|
<div>定义于头文件 <code><a href="cpp-header-complex.html"><complex></a></code></div>
|
|
</td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr class="t-dcl">
|
|
<td>
|
|
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span> <span class="sy1"><</span><span class="kw1">class</span> T, <span class="kw1">class</span> CharT, <span class="kw1">class</span> Traits<span class="sy1">></span><br /></span>
|
|
<p><a href="cpp-io-basic_ostream.html"><span class="kw1715">std::<span class="me2">basic_ostream</span></span></a><span class="sy1"><</span>CharT, Traits<span class="sy1">></span><span class="sy3">&</span><br />
|
|
operator<span class="sy1"><<</span><span class="br0">(</span><a href="cpp-io-basic_ostream.html"><span class="kw1715">std::<span class="me2">basic_ostream</span></span></a><span class="sy1"><</span>CharT, Traits<span class="sy1">></span><span class="sy3">&</span> os,<br /></p>
|
|
<span class="kw4">const</span> <a href="cpp-numeric-complex.html"><span class="kw1472">std::<span class="me2">complex</span></span></a><span class="sy1"><</span>T<span class="sy1">></span><span class="sy3">&</span> x<span class="br0">)</span><span class="sy4">;</span></div>
|
|
</td>
|
|
<td>(1)</td>
|
|
<td class="t-dcl-nopad"></td>
|
|
</tr>
|
|
<tr class="t-dcl">
|
|
<td>
|
|
<div><span class="mw-geshi cpp source-cpp"><span class="kw1">template</span> <span class="sy1"><</span><span class="kw1">class</span> T, <span class="kw1">class</span> CharT, <span class="kw1">class</span> Traits<span class="sy1">></span><br /></span>
|
|
<p><a href="cpp-io-basic_istream.html"><span class="kw1713">std::<span class="me2">basic_istream</span></span></a><span class="sy1"><</span>CharT, Traits<span class="sy1">></span><span class="sy3">&</span><br />
|
|
operator<span class="sy1">>></span><span class="br0">(</span><a href="cpp-io-basic_istream.html"><span class="kw1713">std::<span class="me2">basic_istream</span></span></a><span class="sy1"><</span>CharT, Traits<span class="sy1">></span><span class="sy3">&</span> is,<br /></p>
|
|
<a href="cpp-numeric-complex.html"><span class="kw1472">std::<span class="me2">complex</span></span></a><span class="sy1"><</span>T<span class="sy1">></span><span class="sy3">&</span> x<span class="br0">)</span><span class="sy4">;</span></div>
|
|
</td>
|
|
<td>(2)</td>
|
|
<td class="t-dcl-nopad"></td>
|
|
</tr>
|
|
<tr class="t-dcl-sep">
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="t-li1"><span class="t-li">1)</span> 以 <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="br0">(</span>real,imaginary<span class="br0">)</span></span></span> 格式写入复数到 <span class="t-c"><span class="mw-geshi cpp source-cpp">os</span></span> 。</div>
|
|
<div class="t-li1"><span class="t-li">2)</span> 从 <span class="t-c"><span class="mw-geshi cpp source-cpp">is</span></span> 读取复数。受支持格式为
|
|
<ul>
|
|
<li><span class="t-c"><span class="mw-geshi cpp source-cpp">real</span></span></li>
|
|
<li><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="br0">(</span>real<span class="br0">)</span></span></span></li>
|
|
<li><span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="br0">(</span>real,imaginary<span class="br0">)</span></span></span></li>
|
|
</ul>
|
|
<p>其中 <span class="t-c"><span class="mw-geshi cpp source-cpp">real</span></span> 与 <span class="t-c"><span class="mw-geshi cpp source-cpp">imaginary</span></span> 的输入必须可转换为 <span class="t-c"><span class="mw-geshi cpp source-cpp">T</span></span> 。</p>
|
|
若错误发生则调用 <span class="t-c"><span class="mw-geshi cpp source-cpp">is.<span class="me1">setstate</span><span class="br0">(</span>ios_base<span class="sy4">::</span><span class="me2">failbit</span><span class="br0">)</span></span></span></div>
|
|
<h3><span class="mw-headline" id=".E5.BC.82.E5.B8.B8">异常</span></h3>
|
|
<p>流错误时可能抛 <span class="t-lc"><a href="cpp-io-ios_base-failure.html">std::ios_base::failure</a></span> 。</p>
|
|
<h3><span class="mw-headline" id=".E5.8F.82.E6.95.B0">参数</span></h3>
|
|
<table class="t-par-begin">
|
|
<tr class="t-par">
|
|
<td>os</td>
|
|
<td>-</td>
|
|
<td>字符输出流</td>
|
|
</tr>
|
|
<tr class="t-par">
|
|
<td>is</td>
|
|
<td>-</td>
|
|
<td>字符输入流</td>
|
|
</tr>
|
|
<tr class="t-par">
|
|
<td>x</td>
|
|
<td>-</td>
|
|
<td>要被插入或释出的复数</td>
|
|
</tr>
|
|
</table>
|
|
<h3><span class="mw-headline" id=".E8.BF.94.E5.9B.9E.E5.80.BC">返回值</span></h3>
|
|
<div class="t-li1"><span class="t-li">1)</span> <span class="t-c"><span class="mw-geshi cpp source-cpp">os</span></span></div>
|
|
<div class="t-li1"><span class="t-li">2)</span> <span class="t-c"><span class="mw-geshi cpp source-cpp">is</span></span></div>
|
|
<h3><span class="mw-headline" id=".E6.B3.A8.E6.84.8F">注意</span></h3>
|
|
<div class="t-li1"><span class="t-li">1)</span> 因为逗号可能被当前本地环境用作小数点,故输出可能有歧义。这可用强制显示小数点的 <span class="t-lc"><a href="cpp-io-manip-showpoint.html">std::showpoint</a></span> 解决。</div>
|
|
<div class="t-li1"><span class="t-li">2)</span> 输入以简单格式化的释出进行。空白符的跳过对于它们每一项都相同。</div>
|
|
<h3><span class="mw-headline" id=".E5.8F.AF.E8.83.BD.E7.9A.84.E5.AE.9E.E7.8E.B0">可能的实现</span></h3>
|
|
<table class="eq-fun-cpp-table">
|
|
<tr>
|
|
<td>
|
|
<div dir="ltr" class="mw-geshi" style="text-align: left;">
|
|
<div class="cpp source-cpp">
|
|
<pre class="de1"><span class="kw1">template</span><span class="sy1"><</span><span class="kw1">class</span> T, <span class="kw1">class</span> charT, <span class="kw1">class</span> traits<span class="sy1">></span>
|
|
basic_ostream<span class="sy1"><</span>charT, traits<span class="sy1">></span><span class="sy3">&</span>
|
|
operator<span class="sy1"><<</span><span class="br0">(</span>basic_ostream<span class="sy1"><</span>charT, traits<span class="sy1">></span><span class="sy3">&</span> o, <span class="kw4">const</span> complex<span class="sy1"><</span>T<span class="sy1">></span><span class="sy3">&</span> x<span class="br0">)</span> <span class="br0">{</span>
|
|
basic_ostringstream<span class="sy1"><</span>charT, traits<span class="sy1">></span> s<span class="sy4">;</span>
|
|
s.<span class="me1">flags</span><span class="br0">(</span>o.<span class="me1">flags</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span>
|
|
s.<span class="me1">imbue</span><span class="br0">(</span>o.<span class="me1">getloc</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span>
|
|
s.<span class="me1">precision</span><span class="br0">(</span>o.<span class="me1">precision</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span>
|
|
s <span class="sy1"><<</span> <span class="st0">'('</span> <span class="sy1"><<</span> x.<span class="me1">real</span><span class="br0">(</span><span class="br0">)</span> <span class="sy1"><<</span> <span class="st0">","</span> <span class="sy1"><<</span> x.<span class="me1">imag</span><span class="br0">(</span><span class="br0">)</span> <span class="sy1"><<</span> <span class="st0">')'</span><span class="sy4">;</span>
|
|
<span class="kw1">return</span> o <span class="sy1"><<</span> s.<span class="me1">str</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
|
|
<span class="br0">}</span></pre></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|