Files
hustoj/web/cppreference-zh/chmhelp/cpp-language-namespace.html
2025-08-01 12:57:54 +08:00

688 lines
74 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>&#21629;&#21517;&#31354;&#38388;</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_language_namespace skin-cppreference2 action-view cpp-navbar">
<div id="cpp-content-base">
<div id="content"><a id="top"></a>
<h1 id="firstHeading" class="firstHeading">&#21629;&#21517;&#31354;&#38388;</h1>
<div id="bodyContent">
<div id="contentSub"><span class="subpages">&lt; <a href="cpp.html">cpp</a>&lrm; | <a href="cpp-language.html">language</a></span></div>
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
<p>&#21629;&#21517;&#31354;&#38388;&#25552;&#20379;&#20102;&#19968;&#31181;&#22312;&#22823;&#39033;&#30446;&#20013;&#36991;&#20813;&#21517;&#23383;&#20914;&#31361;&#30340;&#26041;&#27861;&#12290;</p>
<p>&#22312;&#21629;&#21517;&#31354;&#38388;&#22359;&#20869;&#22768;&#26126;&#30340;&#31526;&#21495;&#34987;&#25918;&#20837;&#19968;&#20010;&#20855;&#21517;&#30340;&#20316;&#29992;&#22495;&#20013;&#65292;&#36991;&#20813;&#36825;&#20123;&#31526;&#21495;&#34987;&#35823;&#35748;&#20026;&#20854;&#20182;&#20316;&#29992;&#22495;&#20013;&#30340;&#21516;&#21517;&#31526;&#21495;&#12290;</p>
<p>&#22810;&#20010;&#21629;&#21517;&#31354;&#38388;&#22359;&#30340;&#21517;&#23383;&#21487;&#20197;&#30456;&#21516;&#12290;&#36825;&#20123;&#22359;&#20013;&#30340;&#25152;&#26377;&#22768;&#26126;&#22312;&#35813;&#20855;&#21517;&#20316;&#29992;&#22495;&#22768;&#26126;&#12290;</p>
<h3><span class="mw-headline" id=".E8.AF.AD.E6.B3.95">&#35821;&#27861;</span></h3>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>namespace</b></code> <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> { <span class="t-spar">&#22768;&#26126;&#24207;&#21015;</span> }</td>
<td>(1)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>inline</b></code> <code><b>namespace</b></code> <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> { <span class="t-spar">&#22768;&#26126;&#24207;&#21015;</span> }</td>
<td>(2)</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>namespace</b></code> { <span class="t-spar">&#22768;&#26126;&#24207;&#21015;</span> }</td>
<td>(3)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span><code><b>::</b></code><span class="t-spar">&#25104;&#21592;&#21517;</span></td>
<td>(4)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>using</b></code> <code><b>namespace</b></code> <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span><code><b>;</b></code></td>
<td>(5)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>using</b></code> <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span><code><b>::</b></code><span class="t-spar">&#25104;&#21592;&#21517;</span><code><b>;</b></code></td>
<td>(6)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>namespace</b></code> <span class="t-spar">&#21517;&#23383;</span> <code><b>=</b></code> <span class="t-spar">&#26377;&#38480;&#23450;&#21629;&#21517;&#31354;&#38388;</span> <code><b>;</b></code></td>
<td>(7)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>namespace</b></code> <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span><code><b>::</b></code><span class="t-spar">&#25104;&#21592;&#21517;</span> { <span class="t-spar">&#22768;&#26126;&#24207;&#21015;</span> }</td>
<td>(8)</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>namespace</b></code> <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span><code><b>::</b></code><code><b>inline</b></code> <span class="t-spar">&#25104;&#21592;&#21517;</span> { <span class="t-spar">&#22768;&#26126;&#24207;&#21015;</span> }</td>
<td>(9)</td>
<td><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<div class="t-li1"><span class="t-li">1)</span> &#21629;&#21517;&#31354;&#38388; <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> &#30340;<a href="cpp-language-namespace.html#.E5.91.BD.E5.90.8D.E7.A9.BA.E9.97.B4">&#20855;&#21517;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</a>&#12290;</div>
<div class="t-li1"><span class="t-li">2)</span> &#21629;&#21517;&#31354;&#38388; <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> &#30340;<a href="cpp-language-namespace.html#.E5.86.85.E8.81.94.E5.91.BD.E5.90.8D.E7.A9.BA.E9.97.B4">&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</a>&#12290;<span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> &#20869;&#30340;&#22768;&#26126;&#23558;&#22312;&#20854;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#21487;&#35265;&#12290;</div>
<div class="t-li1"><span class="t-li">3)</span> <a href="cpp-language-namespace.html#.E6.97.A0.E5.90.8D.E5.91.BD.E5.90.8D.E7.A9.BA.E9.97.B4">&#26080;&#21517;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</a>&#12290;&#20854;&#25104;&#21592;&#20855;&#26377;&#20174;&#22768;&#26126;&#28857;&#21040;&#32763;&#35793;&#21333;&#20803;&#32467;&#23614;&#30340;&#28508;&#22312;&#20316;&#29992;&#22495;&#65292;&#24182;&#20855;&#26377;<a href="cpp-language-storage_duration.html">&#20869;&#37096;&#36830;&#25509;</a>&#12290;</div>
<div class="t-li1"><span class="t-li">4)</span> &#21629;&#21517;&#31354;&#38388;&#21517;&#65288;&#36824;&#26377;&#31867;&#21517;&#65289;&#21487;&#20197;&#20986;&#29616;&#22312;&#20316;&#29992;&#22495;&#35299;&#26512;&#36816;&#31639;&#31526;&#30340;&#24038;&#20391;&#65292;&#20316;&#20026;<a href="cpp-language-lookup.html">&#26377;&#38480;&#23450;&#30340;&#21517;&#23383;&#26597;&#25214;</a>&#30340;&#19968;&#37096;&#20998;&#12290;</div>
<div class="t-li1"><span class="t-li">5)</span> <a href="cpp-language-namespace.html#using_.E6.8C.87.E4.BB.A4">using &#25351;&#20196;</a>&#65306;&#20174; using &#25351;&#20196;&#20043;&#21518;&#21040;&#25351;&#20196;&#20986;&#29616;&#30340;&#20316;&#29992;&#22495;&#32467;&#23614;&#20026;&#27490;&#65292;&#20197;&#23545;&#20219;&#20309;&#21517;&#23383;&#30340;&#26080;&#38480;&#23450;<a href="cpp-language-lookup.html">&#21517;&#23383;&#26597;&#25214;</a>&#30340;&#35270;&#28857;&#26469;&#35828;&#65292;&#26469;&#33258; <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> &#30340;&#20219;&#20309;&#21517;&#23383;&#22343;&#21487;&#35265;&#65292;&#22914;&#21516;&#23427;&#22312;&#21516;&#26102;&#21547;&#26377;&#35813; using &#25351;&#20196;&#21644; <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> &#20004;&#32773;&#30340;&#26368;&#25509;&#36817;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#20316;&#29992;&#22495;&#22768;&#26126;&#19968;&#26679;&#12290;</div>
<div class="t-li1"><span class="t-li">6)</span> <a href="cpp-language-namespace.html#using_.E5.A3.B0.E6.98.8E">using &#22768;&#26126;</a>&#65306;&#20196;&#26469;&#33258;&#21629;&#21517;&#31354;&#38388; <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> &#30340;&#31526;&#21495; <span class="t-spar">&#25104;&#21592;&#21517;</span> &#23545;<a href="cpp-language-lookup.html">&#26080;&#38480;&#23450;&#21517;&#23383;&#26597;&#25214;</a>&#21487;&#35265;&#65292;&#22914;&#21516;&#23558;&#23427;&#22312;&#21253;&#21547;&#35813; using &#22768;&#26126;&#30340;&#30456;&#21516;&#30340;&#31867;&#20316;&#29992;&#22495;&#12289;&#22359;&#20316;&#29992;&#22495;&#25110;&#21629;&#21517;&#31354;&#38388;&#20043;&#20013;&#22768;&#26126;&#19968;&#26679;&#12290;</div>
<div class="t-li1"><span class="t-li">7)</span> <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21035;&#21517;&#23450;&#20041;&#65288;namespace-alias-definition&#65289;</span>&#65306;&#20196; <span class="t-spar">&#21517;&#23383;</span> &#25104;&#20026;&#21478;&#19968;&#21629;&#21517;&#31354;&#38388;&#30340;&#21516;&#20041;&#35789;&#65306;&#35265;<a href="cpp-language-namespace_alias.html">&#21629;&#21517;&#31354;&#38388;&#21035;&#21517;</a>&#12290;</div>
<div class="t-li1"><span class="t-li">8)</span> &#23884;&#22871;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#65306;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">namespace</span> A<span class="sy4">::</span><span class="me2">B</span><span class="sy4">::</span><span class="me2">C</span> <span class="br0">{</span> ... <span class="br0">}</span></span></span> &#31561;&#20215;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">namespace</span> A <span class="br0">{</span> <span class="kw1">namespace</span> B <span class="br0">{</span> <span class="kw1">namespace</span> C <span class="br0">{</span> ... <span class="br0">}</span> <span class="br0">}</span> <span class="br0">}</span></span></span>&#12290;</div>
<div class="t-li1"><span class="t-li">9)</span> &#23884;&#22871;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#65306;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">namespace</span> A<span class="sy4">::</span><span class="me2">B</span><span class="sy4">::</span><span class="kw1">inline</span> C <span class="br0">{</span> ... <span class="br0">}</span></span></span> &#31561;&#20215;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">namespace</span> A<span class="sy4">::</span><span class="me2">B</span> <span class="br0">{</span> <span class="kw1">inline</span> <span class="kw1">namespace</span> C <span class="br0">{</span> ... <span class="br0">}</span> <span class="br0">}</span></span></span>&#12290;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">inline</span></span></span> &#21487;&#20197;&#22312;&#39318;&#20010;&#20197;&#22806;&#30340;&#27599;&#20010;&#21629;&#21517;&#31354;&#38388;&#21517;&#20043;&#21069;&#20986;&#29616;&#65306;<span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">namespace</span> A<span class="sy4">::</span><span class="kw1">inline</span> B<span class="sy4">::</span><span class="me2">C</span> <span class="br0">{</span><span class="br0">}</span></span></span> &#31561;&#20215;&#20110; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">namespace</span> A <span class="br0">{</span> <span class="kw1">inline</span> <span class="kw1">namespace</span> B <span class="br0">{</span> <span class="kw1">namespace</span> C <span class="br0">{</span><span class="br0">}</span> <span class="br0">}</span> <span class="br0">}</span></span></span>&#12290;</div>
<h3><span class="mw-headline" id=".E8.A7.A3.E9.87.8A">&#35299;&#37322;</span></h3>
<h4><span class="mw-headline" id=".E5.91.BD.E5.90.8D.E7.A9.BA.E9.97.B4">&#21629;&#21517;&#31354;&#38388;</span></h4>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td class="t-sdsc-nopad"><code><b>inline</b></code><span class="t-mark">(&#21487;&#36873;)</span> <code><b>namespace</b></code> <span class="t-spar">&#23646;&#24615;</span><span class="t-mark">(&#21487;&#36873;)</span> <span class="t-spar">&#26631;&#35782;&#31526;</span> <code><b>{</b></code> <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#20307;</span> <code><b>}</b></code></td>
<td class="t-sdsc-nopad"></td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<table class="t-par-begin">
<tr class="t-par">
<td><code>inline</code></td>
<td>-</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span> &#23384;&#22312;&#26102;&#65292;&#27492;&#21629;&#21517;&#31354;&#38388;&#26159;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#65288;&#35265;&#19979;&#25991;&#65289;&#12290;&#22914;&#26524;<i>&#21407;&#21021;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</i>&#19981;&#20351;&#29992; <code>inline</code>&#65292;&#37027;&#20040;&#19981;&#33021;&#20986;&#29616;&#22312;<i>&#25193;&#23637;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</i>&#20013;</td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#23646;&#24615;</span></td>
<td>-</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span> &#20219;&#24847;&#25968;&#37327;&#30340;<a href="cpp-language-attributes.html">&#23646;&#24615;</a>&#30340;&#21487;&#36873;&#24207;&#21015;</td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#26631;&#35782;&#31526;</span></td>
<td>-</td>
<td>&#19979;&#21015;&#20043;&#19968;&#65306;
<ul>
<li>&#20808;&#21069;&#26410;&#20351;&#29992;&#36807;&#30340;&#26631;&#35782;&#31526;&#65292;&#27492;&#26102;&#36825;&#26159;<i>&#21407;&#21021;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</i></li>
</ul>
<ul>
<li>&#21629;&#21517;&#31354;&#38388;&#21517;&#65292;&#27492;&#26102;&#36825;&#26159;<i>&#25193;&#23637;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</i></li>
</ul>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx17">
<td>
<ul>
<li>&#34987; <code>::</code> &#20998;&#38548;&#30340;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#35828;&#26126;&#31526;&#65292;&#20197; <span class="t-spar">&#26631;&#35782;&#31526;</span> &#32467;&#26463;&#65292;&#27492;&#26102;&#36825;&#26159;<i>&#23884;&#22871;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</i></li>
</ul>
</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
</table>
</td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#20307;</span></td>
<td>-</td>
<td>&#20219;&#20309;&#31181;&#31867;&#65288;&#21253;&#21547;&#31867;&#12289;&#20989;&#25968;&#23450;&#20041;&#21644;&#23884;&#22871;&#21629;&#21517;&#31354;&#38388;&#31561;&#65289;&#30340;<a href="cpp-language-declarations.html">&#22768;&#26126;</a>&#30340;&#21487;&#33021;&#20026;&#31354;&#30340;&#24207;&#21015;</td>
</tr>
</table>
<p>&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#21482;&#20801;&#35768;&#22312;&#21629;&#21517;&#31354;&#38388;&#20316;&#29992;&#22495;&#65292;&#21253;&#25324;&#20840;&#23616;&#20316;&#29992;&#22495;&#20013;&#20986;&#29616;&#12290;</p>
<p>&#20026;&#20102;&#37325;&#26032;&#25171;&#24320;&#19968;&#20010;&#26082;&#23384;&#30340;&#21629;&#21517;&#31354;&#38388;&#65288;&#27491;&#24335;&#32780;&#35328;&#65292;&#20316;&#20026;<i>&#25193;&#23637;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</i>&#65289;&#65292;&#23545;&#29992;&#20110;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#20013;&#30340; <span class="t-spar">&#26631;&#35782;&#31526;</span>&#30340;&#26597;&#25214;&#24517;&#39035;&#35299;&#26512;&#20026;&#19968;&#20010;&#21629;&#21517;&#31354;&#38388;&#21517;&#65288;&#32780;&#38750;&#21629;&#21517;&#31354;&#38388;&#21035;&#21517;&#65289;&#65292;&#35813;&#21517;&#23383;&#34987;&#22768;&#26126;&#20026;&#19968;&#20010;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#25110;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#20013;&#30340;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#30340;&#19968;&#20010;&#25104;&#21592;&#12290;</p>
<p><span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#20307;</span> &#23450;&#20041;&#20102;&#19968;&#20010;<a href="cpp-language-scope.html">&#21629;&#21517;&#31354;&#38388;&#20316;&#29992;&#22495;</a>&#65292;&#36825;&#23558;&#24433;&#21709;<a href="cpp-language-lookup.html">&#21517;&#23383;&#26597;&#25214;</a>&#12290;</p>
<p>&#20986;&#29616;&#22312; <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#20307;</span>&#65288;&#21253;&#21547;&#23884;&#22871;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#65289;&#20013;&#30340;&#22768;&#26126;&#25152;&#24341;&#20837;&#30340;&#25152;&#26377;&#21517;&#23383;&#22343;&#25104;&#20026;&#21629;&#21517;&#31354;&#38388; <span class="t-spar">&#26631;&#35782;&#31526;</span> &#30340;&#25104;&#21592;&#65292;&#26080;&#35770;&#27492;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#26159;&#21407;&#21021;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#65288;&#24341;&#20837; <span class="t-spar">&#26631;&#35782;&#31526;</span> &#32773;&#65289;&#36824;&#26159;&#25193;&#23637;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#65288;&ldquo;&#37325;&#25171;&#24320;&rdquo;&#24050;&#23450;&#20041;&#21629;&#21517;&#31354;&#38388;&#32773;&#65289;&#12290;</p>
<p>&#19968;&#20010;&#22312;&#21629;&#21517;&#31354;&#38388;&#20307;&#20869;&#22768;&#26126;&#30340;&#21629;&#21517;&#31354;&#38388;&#25104;&#21592;&#65292;&#21487;&#20197;&#22312;&#35813;&#21629;&#21517;&#31354;&#38388;&#20307;&#22806;&#37096;&#29992;&#26174;&#24335;&#38480;&#23450;&#36827;&#34892;&#23450;&#20041;&#25110;&#20877;&#22768;&#26126;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> Q <span class="br0">{</span>
<span class="kw1">namespace</span> V <span class="br0">{</span> <span class="co1">// V &#26159; Q &#30340;&#25104;&#21592;&#65292;&#19988;&#23436;&#20840;&#22312; Q &#20869;&#23450;&#20041;</span>
<span class="co1">// namespace Q::V { // C++17 &#36215;&#21487;&#20197;&#29992;&#26469;&#26367;&#20195;&#20197;&#19978;&#20004;&#34892;</span>
<span class="kw1">class</span> C <span class="br0">{</span> <span class="kw4">void</span> m<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="br0">}</span><span class="sy4">;</span> <span class="co1">// C &#26159; V &#30340;&#25104;&#21592;&#19988;&#23436;&#20840;&#22312; V &#20869;&#23450;&#20041;</span>
<span class="co1">// C::m &#20165;&#34987;&#22768;&#26126;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// f &#26159; V &#30340;&#25104;&#21592;&#65292;&#20294;&#21482;&#22312;&#27492;&#22768;&#26126;</span>
<span class="br0">}</span>
<span class="kw4">void</span> V<span class="sy4">::</span><span class="me2">f</span><span class="br0">(</span><span class="br0">)</span> <span class="co1">// &#22312; V &#22806;&#23545; V &#30340;&#25104;&#21592; f &#30340;&#23450;&#20041;</span>
<span class="co1">// f &#30340;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#20173;&#26159;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;&#12289;Q &#19982; Q::V</span>
<span class="br0">{</span>
<span class="kw4">extern</span> <span class="kw4">void</span> h<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#36825;&#22768;&#26126;&#20102; ::Q::V::h</span>
<span class="br0">}</span>
<span class="kw4">void</span> V<span class="sy4">::</span><span class="me2">C</span><span class="sy4">::</span><span class="me2">m</span><span class="br0">(</span><span class="br0">)</span> <span class="co1">// &#22312;&#21629;&#21517;&#31354;&#38388;&#22806;&#65288;&#21450;&#31867;&#22806;&#65289;&#23545; V::C::m &#30340;&#23450;&#20041;</span>
<span class="co1">// &#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#26159;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;&#12289;Q &#19982; Q::V</span>
<span class="br0">{</span><span class="br0">}</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#21629;&#21517;&#31354;&#38388;&#22806;&#30340;&#23450;&#20041;&#21644;&#20877;&#22768;&#26126;&#21482;&#33021;&#20986;&#29616;&#22312;</p>
<ul>
<li>&#22768;&#26126;&#28857;&#21518;&#65292;</li>
<li>&#21629;&#21517;&#31354;&#38388;&#20316;&#29992;&#22495;&#20013;&#65292;&#19988;</li>
<li>&#20316;&#29992;&#22495;&#30340;&#21629;&#21517;&#31354;&#38388;&#65288;&#21253;&#25324;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;&#65289;&#21253;&#22260;&#20102;&#21407;&#21629;&#21517;&#31354;&#38388;&#12290;</li>
</ul>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx14">
<td>&#23427;&#20204;&#20063;&#24212;&#20351;&#29992;&#38480;&#23450;&#26631;&#35782;&#35821;&#27861;&#12290;</td>
<td><span class="t-mark-rev t-since-cxx14">(C++14 &#36215;)</span></td>
</tr>
</table>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> Q <span class="br0">{</span>
<span class="kw1">namespace</span> V <span class="br0">{</span> <span class="co1">// V &#30340;&#21407;&#21021;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// Q::V::f &#30340;&#22768;&#26126;</span>
<span class="br0">}</span>
<span class="kw4">void</span> V<span class="sy4">::</span><span class="me2">f</span><span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span> <span class="co1">// OK</span>
<span class="kw4">void</span> V<span class="sy4">::</span><span class="me2">g</span><span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span> <span class="co1">// &#38169;&#35823;&#65306;g() &#30446;&#21069;&#36824;&#19981;&#26159; V &#30340;&#25104;&#21592;</span>
<span class="kw1">namespace</span> V <span class="br0">{</span> <span class="co1">// V &#30340;&#25193;&#23637;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</span>
<span class="kw4">void</span> g<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// Q::V::g &#30340;&#22768;&#26126;</span>
<span class="br0">}</span>
<span class="br0">}</span>
<span class="kw1">namespace</span> R <span class="br0">{</span> <span class="co1">// &#19981;&#26159; Q &#30340;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;</span>
<span class="kw4">void</span> Q<span class="sy4">::</span><span class="me2">V</span><span class="sy4">::</span><span class="me2">g</span><span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span> <span class="co1">// &#38169;&#35823;&#65306;&#19981;&#33021;&#22312; R &#20869;&#23450;&#20041; Q::V::g</span>
<span class="br0">}</span>
<span class="kw4">void</span> Q<span class="sy4">::</span><span class="me2">V</span><span class="sy4">::</span><span class="me2">g</span><span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span> <span class="co1">// OK&#65306;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;&#21253;&#22260; Q</span></pre></div>
</div>
<p>&#22312;&#38750;&#23616;&#37096;&#31867; X &#20013;&#30001;<a href="cpp-language-friend.html">&#21451;&#20803;</a>&#22768;&#26126;&#25152;&#24341;&#20837;&#30340;&#21517;&#23383;&#20250;&#25104;&#20026; X &#30340;&#26368;&#20869;&#23618;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#30340;&#25104;&#21592;&#65292;&#20294;&#23427;&#20204;&#23545;&#20110;&#36890;&#24120;&#30340;<a href="cpp-language-lookup.html">&#21517;&#23383;&#26597;&#25214;</a>&#65288;<a href="cpp-language-unqualified_lookup.html">&#26080;&#38480;&#23450;</a>&#25110;<a href="cpp-language-qualified_lookup.html">&#26377;&#38480;&#23450;</a>&#65289;&#19981;&#21487;&#35265;&#65292;&#38500;&#38750;&#22312;&#21629;&#21517;&#31354;&#38388;&#20316;&#29992;&#22495;&#20013;&#31867;&#23450;&#20041;&#21069;&#21518;&#25552;&#20379;&#19982;&#20043;&#21305;&#37197;&#30340;&#22768;&#26126;&#12290;&#36825;&#31181;&#21517;&#23383;&#21487;&#20197;&#36890;&#36807;<a href="cpp-language-adl.html">&#23454;&#21442;&#20381;&#36182;&#26597;&#25214;</a>&#25214;&#21040;&#65292;&#20854;&#20013;&#21516;&#26102;&#32771;&#34385;&#21629;&#21517;&#31354;&#38388;&#21644;&#31867;&#12290;</p>
<p>&#22312;&#30830;&#23450;&#21517;&#23383;&#26159;&#21542;&#19982;&#20808;&#21069;&#22768;&#26126;&#30340;&#21517;&#23383;&#20914;&#31361;&#26102;&#65292;&#36825;&#31181;&#21451;&#20803;&#22768;&#26126;&#21482;&#32771;&#34385;&#26368;&#20869;&#23618;&#30340;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw4">void</span> h<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">namespace</span> A <span class="br0">{</span>
<span class="kw1">class</span> X <span class="br0">{</span>
<span class="kw1">friend</span> <span class="kw4">void</span> f<span class="br0">(</span>X<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// A::f &#26159;&#21451;&#20803;</span>
<span class="kw1">class</span> Y <span class="br0">{</span>
<span class="kw1">friend</span> <span class="kw4">void</span> g<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// A::g &#26159;&#21451;&#20803;</span>
<span class="kw1">friend</span> <span class="kw4">void</span> h<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// A::h &#26159;&#21451;&#20803;&#65292;&#19982; ::h &#19981;&#20914;&#31361;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="co1">// A::f&#12289;A::g &#19982; A::h &#22312;&#21629;&#21517;&#31354;&#38388;&#20316;&#29992;&#22495;&#19981;&#21487;&#35265;</span>
<span class="co1">// &#34429;&#28982;&#23427;&#20204;&#26159;&#21629;&#21517;&#31354;&#38388; A &#30340;&#25104;&#21592;</span>
X x<span class="sy4">;</span>
<span class="kw4">void</span> g<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> <span class="co1">// A::g &#30340;&#23450;&#20041;</span>
f<span class="br0">(</span>x<span class="br0">)</span><span class="sy4">;</span> <span class="co1">// A::X::f &#36890;&#36807;&#23454;&#21442;&#20381;&#36182;&#26597;&#25214;&#25214;&#21040;</span>
<span class="br0">}</span>
<span class="kw4">void</span> f<span class="br0">(</span>X<span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span> <span class="co1">// A::f &#30340;&#23450;&#20041;</span>
<span class="kw4">void</span> h<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span> <span class="br0">{</span><span class="br0">}</span> <span class="co1">// A::h &#30340;&#23450;&#20041;</span>
<span class="co1">// A::f&#12289;A::g &#19982; A::h &#29616;&#22312;&#22312;&#21629;&#21517;&#31354;&#38388;&#20316;&#29992;&#22495;&#21487;&#35265;</span>
<span class="co1">// &#32780;&#19988;&#23427;&#20204;&#20063;&#26159; A::X &#19982; A::X::Y &#30340;&#21451;&#20803;</span>
<span class="br0">}</span></pre></div>
</div>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx11">
<td>
<h4><span class="mw-headline" id=".E5.86.85.E8.81.94.E5.91.BD.E5.90.8D.E7.A9.BA.E9.97.B4">&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;</span></h4>
<p>&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#26159;&#22312;&#20854;<i>&#21407;&#21021;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</i>&#20013;&#20351;&#29992;&#20102;&#21487;&#36873;&#30340;&#20851;&#38190;&#35789; <code>inline</code> &#30340;&#21629;&#21517;&#31354;&#38388;&#12290;</p>
<p>&#22312;&#35768;&#22810;&#24773;&#20917;&#19979;&#65288;&#21015;&#20110;&#19979;&#26041;&#65289;&#65292;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#30340;&#25104;&#21592;&#37117;&#34987;&#24403;&#20570;&#22914;&#21516;&#23427;&#20204;&#26159;&#20854;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#30340;&#25104;&#21592;&#19968;&#26679;&#12290;&#36825;&#39033;&#24615;&#36136;&#26159;&#20256;&#36882;&#24615;&#30340;&#65306;&#22914;&#26524;&#21629;&#21517;&#31354;&#38388; N &#21253;&#21547;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388; M&#65292;&#19988;&#23427;&#21448;&#32487;&#32780;&#21253;&#21547;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388; O&#65292;&#21017; O &#30340;&#25104;&#21592;&#33021;&#25353;&#22914;&#21516;&#23427;&#20204;&#26159; M &#25110; N &#30340;&#25104;&#21592;&#19968;&#26679;&#20351;&#29992;&#12290;</p>
<ul>
<li>&#22312;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#20013;&#65292;&#38544;&#21547;&#22320;&#25554;&#20837;&#20102;&#19968;&#26465;&#25351;&#21517;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#30340; <i>using &#25351;&#20196;</i>&#65288;&#31867;&#20284;&#20110;&#26080;&#21517;&#21629;&#21517;&#31354;&#38388;&#30340;&#38544;&#24335; using &#25351;&#20196;&#65289;</li>
<li>&#22312;<a href="cpp-language-adl.html">&#23454;&#21442;&#20381;&#36182;&#26597;&#25214;</a>&#20013;&#65292;&#24403;&#19968;&#20010;&#21629;&#21517;&#31354;&#38388;&#34987;&#28155;&#21152;&#21040;&#20851;&#32852;&#21629;&#21517;&#31354;&#38388;&#38598;&#21512;&#26102;&#65292;&#23427;&#30340;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#20063;&#20250;&#19968;&#36215;&#34987;&#28155;&#21152;&#65292;&#19988;&#24403;&#19968;&#20010;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#34987;&#28155;&#21152;&#21040;&#20851;&#32852;&#21629;&#21517;&#31354;&#38388;&#21015;&#34920;&#26102;&#65292;&#23427;&#30340;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#20063;&#20250;&#19968;&#36215;&#34987;&#28155;&#21152;&#12290;</li>
<li>&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#30340;&#27599;&#20010;&#25104;&#21592;&#65292;&#37117;&#33021;&#25353;&#29031;&#22914;&#21516;&#23427;&#26159;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#30340;&#25104;&#21592;&#19968;&#26679;&#65292;&#36827;&#34892;&#37096;&#20998;&#29305;&#21270;&#12289;&#26174;&#24335;&#23454;&#20363;&#21270;&#25110;&#26174;&#24335;&#29305;&#21270;&#12290;</li>
<li>&#26816;&#39564;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#30340;&#26377;&#38480;&#23450;<a href="cpp-language-lookup.html">&#21517;&#23383;&#26597;&#25214;</a>&#23558;&#21253;&#21547;&#26469;&#33258;&#20854;&#21508;&#20010;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#30340;&#21517;&#31216;&#65292;&#21363;&#20351;&#21516;&#19968;&#21517;&#31216;&#24050;&#22312;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#23384;&#22312;&#12290;</li>
</ul>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="br0">{</span> <span class="co1">// C++14 &#20013;&#65292;std::literals &#21450;&#20854;&#25104;&#21592;&#21629;&#21517;&#31354;&#38388;&#26159;&#20869;&#32852;&#30340;</span>
<span class="kw1">using</span> <span class="kw1">namespace</span> std<span class="sy4">::</span><span class="me2">string_literals</span><span class="sy4">;</span> <span class="co1">// &#20196;&#26469;&#33258; std::literals::string_literals</span>
<span class="co1">// &#30340; operator&quot;&quot;s &#21487;&#35265;</span>
<span class="kw4">auto</span> str <span class="sy1">=</span> <span class="st0">&quot;abc&quot;</span>s<span class="sy4">;</span>
<span class="br0">}</span>
<span class="br0">{</span>
<span class="kw1">using</span> <span class="kw1">namespace</span> std<span class="sy4">::</span><span class="me2">literals</span><span class="sy4">;</span> <span class="co1">// &#20196; std::literals::string_literals::operator&quot;&quot;s &#19982;</span>
<span class="co1">// std::literals::chrono_literals::operator&quot;&quot;s &#22343;&#21487;&#35265;</span>
<span class="kw4">auto</span> str <span class="sy1">=</span> <span class="st0">&quot;abc&quot;</span>s<span class="sy4">;</span>
<span class="kw4">auto</span> min <span class="sy1">=</span> 60s<span class="sy4">;</span>
<span class="br0">}</span>
<span class="br0">{</span>
<span class="kw1">using</span> std<span class="sy4">::</span><span class="me2">operator</span><span class="st0">&quot;&quot;</span>s<span class="sy4">;</span> <span class="co1">// &#20196; std::literals::string_literals::operator&quot;&quot;s &#19982;</span>
<span class="co1">// std::literals::chrono_literals::operator&quot;&quot;s &#22343;&#21487;&#35265;</span>
<span class="kw4">auto</span> str <span class="sy1">=</span> <span class="st0">&quot;abc&quot;</span>s<span class="sy4">;</span>
<span class="kw4">auto</span> min <span class="sy1">=</span> 60s<span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#27880;&#24847;&#65306;&#19978;&#36848;&#20851;&#20110;&#29305;&#21270;&#30340;&#35268;&#21017;&#20801;&#35768;&#24314;&#31435;&#24211;&#29256;&#26412;&#65306;&#24211;&#27169;&#26495;&#30340;&#19981;&#21516;&#23454;&#29616;&#21487;&#20197;&#22312;&#19981;&#21516;&#30340;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#65292;&#21516;&#26102;&#20173;&#28982;&#20801;&#35768;&#29992;&#25143;&#36890;&#36807;&#20027;&#27169;&#26495;&#30340;&#26174;&#24335;&#29305;&#21270;&#26469;&#25193;&#20805;&#29238;&#21629;&#21517;&#31354;&#38388;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</table>
<h4><span class="mw-headline" id=".E6.97.A0.E5.90.8D.E5.91.BD.E5.90.8D.E7.A9.BA.E9.97.B4">&#26080;&#21517;&#21629;&#21517;&#31354;&#38388;</span></h4>
<p><i>&#26080;&#21517;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;</i>&#26159;&#20855;&#26377;&#19979;&#21015;&#24418;&#24335;&#30340;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#12290;</p>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td class="t-sdsc-nopad"><code><b>inline</b></code><span class="t-mark">(&#21487;&#36873;)</span> <code><b>namespace</b></code> <span class="t-spar">&#23646;&#24615;</span><span class="t-mark">(&#21487;&#36873;)</span> <code><b>{</b></code> <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#20307;</span> <code><b>}</b></code></td>
<td class="t-sdsc-nopad"></td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<table class="t-par-begin">
<tr class="t-par">
<td><code>inline</code></td>
<td>-</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span> &#23384;&#22312;&#26102;&#65292;&#27492;&#21629;&#21517;&#31354;&#38388;&#26159;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;</td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#23646;&#24615;</span></td>
<td>-</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span> &#20219;&#24847;&#25968;&#37327;&#30340;<a href="cpp-language-attributes.html">&#23646;&#24615;</a>&#30340;&#21487;&#36873;&#24207;&#21015;</td>
</tr>
</table>
<p>&#27492;&#23450;&#20041;&#34987;&#24403;&#20570;&#19968;&#20010;&#25317;&#26377;&#29420;&#26377;&#21517;&#23383;&#30340;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#65292;&#19982;&#24403;&#21069;&#20316;&#29992;&#22495;&#20013;&#25351;&#21517;&#27492;&#26080;&#21517;&#21629;&#21517;&#31354;&#38388;&#30340;&#19968;&#26465; <i>using &#25351;&#20196;</i> &#65288;&#27880;&#65306;&#38544;&#24335;&#28155;&#21152;&#30340; using &#25351;&#20196;&#20351;<a href="cpp-language-qualified_lookup.html">&#26377;&#38480;&#23450;&#26597;&#25214;</a>&#21644;<a href="cpp-language-unqualified_lookup.html">&#26080;&#38480;&#23450;&#26597;&#25214;</a>&#21487;&#20197;&#21457;&#29616;&#35813;&#21629;&#21517;&#31354;&#38388;&#65292;&#20294;<a href="cpp-language-adl.html">&#23454;&#21442;&#20381;&#36182;&#26597;&#25214;</a>&#19981;&#22312;&#27492;&#21015;&#65289;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> <span class="br0">{</span>
<span class="kw4">int</span> i<span class="sy4">;</span> <span class="co1">// &#23450;&#20041; ::(&#29420;&#26377;)::i</span>
<span class="br0">}</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
i<span class="sy2">++</span><span class="sy4">;</span> <span class="co1">// &#33258;&#22686; ::(&#29420;&#26377;)::i</span>
<span class="br0">}</span>
<span class="kw1">namespace</span> A <span class="br0">{</span>
<span class="kw1">namespace</span> <span class="br0">{</span>
<span class="kw4">int</span> i<span class="sy4">;</span> <span class="co1">// A::(&#29420;&#26377;)::i</span>
<span class="kw4">int</span> j<span class="sy4">;</span> <span class="co1">// A::(&#29420;&#26377;)::j</span>
<span class="br0">}</span>
<span class="kw4">void</span> g<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span> i<span class="sy2">++</span><span class="sy4">;</span> <span class="br0">}</span> <span class="co1">// A::(&#29420;&#26377;)::i++</span>
<span class="br0">}</span>
<span class="kw1">using</span> <span class="kw1">namespace</span> A<span class="sy4">;</span> <span class="co1">// &#20174; A &#24341;&#20837;&#25152;&#26377;&#21517;&#31216;&#21040;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;</span>
<span class="kw4">void</span> h<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
i<span class="sy2">++</span><span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;::(&#29420;&#26377;)::i &#19982; ::A::(&#29420;&#26377;)::i &#22343;&#22312;&#20316;&#29992;&#22495;&#20013;</span>
A<span class="sy4">::</span><span class="me2">i</span><span class="sy2">++</span><span class="sy4">;</span> <span class="co1">// OK&#65306;&#33258;&#22686; A::(&#29420;&#26377;)::i</span>
j<span class="sy2">++</span><span class="sy4">;</span> <span class="co1">// OK&#65306;&#33258;&#22686; A::(&#29420;&#26377;)::j</span>
<span class="br0">}</span></pre></div>
</div>
<table class="t-rev-begin">
<tr class="t-rev t-until-cxx11">
<td>
<p>&#34429;&#28982;&#26080;&#21517;&#21629;&#21517;&#31354;&#38388;&#20013;&#30340;&#21517;&#23383;&#21487;&#20197;&#22768;&#26126;&#20026;&#20855;&#26377;&#22806;&#37096;&#36830;&#25509;&#65292;&#20294;&#20174;&#20854;&#20182;&#32763;&#35793;&#21333;&#20803;&#26080;&#27861;&#35775;&#38382;&#23427;&#20204;&#65292;&#22240;&#20026;&#20854;&#21629;&#21517;&#31354;&#38388;&#21517;&#26159;&#29420;&#26377;&#30340;&#12290;</p>
</td>
<td><span class="t-mark-rev t-until-cxx11">(C++11 &#21069;)</span></td>
</tr>
<tr class="t-rev t-since-cxx11">
<td>
<p>&#26080;&#21517;&#21629;&#21517;&#31354;&#38388;&#20197;&#21450;&#25152;&#26377;&#30452;&#25509;&#25110;&#38388;&#25509;&#22312;&#26080;&#21517;&#21629;&#21517;&#31354;&#38388;&#20869;&#22768;&#26126;&#30340;&#21629;&#21517;&#31354;&#38388;&#37117;&#20855;&#26377;<a href="cpp-language-storage_duration.html#.E8.BF.9E.E6.8E.A5">&#20869;&#37096;&#36830;&#25509;</a>&#65292;&#36825;&#34920;&#31034;&#22768;&#22312;&#26080;&#21517;&#21629;&#21517;&#31354;&#38388;&#20869;&#22768;&#26126;&#30340;&#25152;&#26377;&#21517;&#23383;&#37117;&#20855;&#26377;&#20869;&#37096;&#36830;&#25509;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span></td>
</tr>
</table>
<h4><span class="mw-headline" id="using_.E5.A3.B0.E6.98.8E">using &#22768;&#26126;</span></h4>
<p>&#24341;&#20837;&#22312;&#21035;&#22788;&#23450;&#20041;&#30340;&#21517;&#31216;&#21040;&#27492; using &#22768;&#26126;&#20986;&#29616;&#30340;&#22768;&#26126;&#24615;&#21306;&#22495;&#12290;</p>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>using</b></code> <code><b>typename</b></code><span class="t-mark">(&#21487;&#36873;)</span> <span class="t-spar">&#23884;&#22871;&#21517;&#35828;&#26126;&#31526;</span> <span class="t-spar">&#26080;&#38480;&#23450;&#26631;&#35782;</span> <code><b>;</b></code></td>
<td class="t-sdsc-nopad"></td>
<td><span class="t-mark-rev t-until-cxx17">(C++17 &#21069;)</span></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><code><b>using</b></code> <span class="t-spar">&#22768;&#26126;&#31526;&#21015;&#34920;</span> <code><b>;</b></code></td>
<td class="t-sdsc-nopad"></td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<table class="t-par-begin">
<tr class="t-par">
<td><code><b>typename</b></code></td>
<td>-</td>
<td>&#24403; using &#22768;&#26126;&#21521;&#31867;&#27169;&#26495;&#24341;&#20837;&#22522;&#31867;&#30340;&#25104;&#21592;&#31867;&#22411;&#26102;&#65292;&#20851;&#38190;&#35789; <code>typename</code> &#21487;&#22312;&#24517;&#35201;&#26102;&#29992;&#20110;&#35299;&#26512;<a href="cpp-language-dependent_name.html">&#24453;&#20915;&#21517;</a></td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#23884;&#22871;&#21517;&#35828;&#26126;&#31526;</span></td>
<td>-</td>
<td>&#21517;&#23383;&#19982;&#20316;&#29992;&#22495;&#35299;&#26512;&#36816;&#31639;&#31526; <code>::</code> &#30340;&#24207;&#21015;&#65292;&#20197;&#20316;&#29992;&#22495;&#35299;&#26512;&#36816;&#31639;&#31526;&#32467;&#26463;&#12290;&#21333;&#20010; <code>::</code> &#20195;&#34920;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;&#12290;</td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#26080;&#38480;&#23450;&#26631;&#35782;</span></td>
<td>-</td>
<td><a href="cpp-language-identifiers.html">&#26631;&#35782;&#34920;&#36798;&#24335;</a></td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#22768;&#26126;&#31526;&#21015;&#34920;</span></td>
<td>-</td>
<td>&#19968;&#25110;&#22810;&#20010;&#24418;&#24335;&#20026; <code><b>typename</b></code><span class="t-mark">(&#21487;&#36873;)</span> <span class="t-spar">&#23884;&#22871;&#21517;&#35828;&#26126;&#31526;</span> <span class="t-spar">&#26080;&#38480;&#23450;&#26631;&#35782;</span> &#30340;&#22768;&#26126;&#31526;&#30340;&#36887;&#21495;&#20998;&#38548;&#21015;&#34920;&#12290;&#22768;&#26126;&#31526;&#21487;&#20197;&#21518;&#38543;&#30465;&#30053;&#21495;&#20197;&#25351;&#31034;<a href="cpp-language-parameter_pack.html">&#21253;&#23637;&#24320;</a>&#65292;&#20294;&#36825;&#31181;&#24418;&#24335;&#21482;&#22312;<a href="cpp-language-using_declaration.html">&#27966;&#29983;&#31867;&#23450;&#20041;</a>&#20013;&#26377;&#24847;&#20041;</td>
</tr>
</table>
<p>using &#22768;&#26126;&#21487;&#20197;&#29992;&#20110;&#23558;&#21629;&#21517;&#31354;&#38388;&#30340;&#25104;&#21592;&#24341;&#20837;&#21040;&#20854;&#20182;&#21629;&#21517;&#31354;&#38388;&#21644;&#22359;&#20316;&#29992;&#22495;&#20013;&#65292;&#25110;&#23558;&#22522;&#31867;&#30340;&#25104;&#21592;&#24341;&#20837;&#21040;&#27966;&#29983;&#31867;&#23450;&#20041;&#20013;<span class="t-rev-inl t-since-cxx20"><span>&#65292;&#25110;&#23558;<a href="cpp-language-enum.html">&#26522;&#20030;&#39033;</a>&#24341;&#20837;&#21629;&#21517;&#31354;&#38388;&#12289;&#22359;&#25110;&#31867;&#20316;&#29992;&#22495;&#20013;</span> <span><span class="t-mark-rev t-since-cxx20">(C++20 &#36215;)</span></span></span>&#12290;</p>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx17">
<td>
<p>&#25317;&#26377;&#22810;&#20110;&#19968;&#20010; using &#22768;&#26126;&#31526;&#30340; using &#22768;&#26126;&#65292;&#31561;&#20215;&#20110;&#23545;&#24212;&#30340;&#21333;&#20010; using &#22768;&#26126;&#31526;&#30340; using &#22768;&#26126;&#30340;&#24207;&#21015;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-cxx17">(C++17 &#36215;)</span></td>
</tr>
</table>
<p>&#23545;&#20110;&#22312;&#27966;&#29983;&#31867;&#23450;&#20041;&#20013;&#30340;&#29992;&#27861;&#65292;&#35265; <a href="cpp-language-using_declaration.html">using &#22768;&#26126;</a>&#12290;</p>
<p>&#30001; using &#22768;&#26126;&#24341;&#20837;&#21040;&#21629;&#21517;&#31354;&#38388;&#20316;&#29992;&#22495;&#30340;&#21517;&#23383;&#65292;&#21487;&#20197;&#21516;&#20219;&#20309;&#20854;&#20182;&#21517;&#23383;&#19968;&#26679;&#20351;&#29992;&#65292;&#21253;&#21547;&#20174;&#20854;&#20182;&#20316;&#29992;&#22495;&#36827;&#34892;&#30340;&#26377;&#38480;&#23450;&#26597;&#25214;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw4">void</span> f<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">namespace</span> A <span class="br0">{</span>
<span class="kw4">void</span> g<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw1">namespace</span> X <span class="br0">{</span>
<span class="kw1">using</span> <span class="sy4">::</span><span class="me2">f</span><span class="sy4">;</span> <span class="co1">// &#20840;&#23616; f &#29616;&#22312;&#20316;&#20026; ::X::f &#21487;&#35265;</span>
<span class="kw1">using</span> A<span class="sy4">::</span><span class="me2">g</span><span class="sy4">;</span> <span class="co1">// A::g &#29616;&#22312;&#20316;&#20026; ::X::g &#21487;&#35265;</span>
<span class="kw1">using</span> A<span class="sy4">::</span><span class="me2">g</span>, A<span class="sy4">::</span><span class="me2">g</span><span class="sy4">;</span> <span class="co1">// (C++17) OK&#65306;&#21629;&#21517;&#31354;&#38388;&#20316;&#29992;&#22495;&#20801;&#35768;&#21452;&#37325;&#22768;&#26126;</span>
<span class="br0">}</span>
<span class="kw4">void</span> h<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
X<span class="sy4">::</span><span class="me2">f</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#35843;&#29992; ::f</span>
X<span class="sy4">::</span><span class="me2">g</span><span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#35843;&#29992; A::g</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#22312;&#29992; using &#22768;&#26126;&#20174;&#21629;&#21517;&#31354;&#38388;&#37319;&#21462;&#25104;&#21592;&#21518;&#65292;&#22914;&#26524;&#35813;&#21629;&#21517;&#31354;&#38388;&#34987;&#25193;&#20805;&#24182;&#24341;&#20837;&#20102;&#21516;&#21517;&#30340;&#39069;&#22806;&#22768;&#26126;&#65292;&#21017;&#36825;&#20123;&#39069;&#22806;&#22768;&#26126;&#19981;&#20250;&#36890;&#36807;&#35813; using &#22768;&#26126;&#21464;&#20026;&#21487;&#35265;&#65288;&#19982; using &#25351;&#20196;&#30456;&#21453;&#65289;&#12290;&#19968;&#20010;&#20363;&#22806;&#26159; using &#22768;&#26126;&#25351;&#21517;&#31867;&#27169;&#26495;&#26102;&#65306;&#21518;&#38754;&#24341;&#20837;&#30340;&#37096;&#20998;&#29305;&#21270;&#23454;&#38469;&#19978;&#26159;&#21487;&#35265;&#30340;&#65292;&#22240;&#20026;&#20854;<a href="cpp-language-lookup.html">&#26597;&#25214;</a>&#26159;&#36890;&#36807;&#20027;&#27169;&#26495;&#36798;&#25104;&#30340;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> A <span class="br0">{</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw1">using</span> A<span class="sy4">::</span><span class="me2">f</span><span class="sy4">;</span> <span class="co1">// ::f &#29616;&#22312;&#26159; A::f(int) &#30340;&#21516;&#20041;&#35789;</span>
<span class="kw1">namespace</span> A <span class="br0">{</span> <span class="co1">// &#21629;&#21517;&#31354;&#38388;&#25193;&#23637;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">char</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#19981;&#26356;&#25913; ::f &#30340;&#21547;&#20041;</span>
<span class="br0">}</span>
<span class="kw4">void</span> foo<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
f<span class="br0">(</span><span class="st0">&#39;a&#39;</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#35843;&#29992; f(int)&#65292;&#21363;&#20351; f(char) &#23384;&#22312;&#12290;</span>
<span class="br0">}</span>
<span class="kw4">void</span> bar<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
<span class="kw1">using</span> A<span class="sy4">::</span><span class="me2">f</span><span class="sy4">;</span> <span class="co1">// &#27492; f &#26159; A::f(int) &#19982; A::f(char) &#30340;&#21516;&#20041;&#35789;</span>
f<span class="br0">(</span><span class="st0">&#39;a&#39;</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#35843;&#29992; f(char)</span>
<span class="br0">}</span></pre></div>
</div>
<p>using &#22768;&#26126;&#19981;&#33021;&#25351;&#21517;<a href="cpp-language-templates.html#.E6.A8.A1.E6.9D.BF.E6.A0.87.E8.AF.86">&#27169;&#26495;&#26631;&#35782;</a>&#25110;&#21629;&#21517;&#31354;&#38388;<span class="t-rev-inl t-until-cxx20"><span>&#65292;&#25110;&#26377;&#20316;&#29992;&#22495;&#30340;&#26522;&#20030;&#39033;</span> <span><span class="t-mark-rev t-until-cxx20">(C++20 &#21069;)</span></span></span>&#12290;using &#22768;&#26126;&#20013;&#30340;&#27599;&#20010;&#22768;&#26126;&#31526;&#24341;&#20837;&#19968;&#20010;&#19988;&#21482;&#26377;&#19968;&#20010;&#21517;&#23383;&#65292;&#20363;&#22914;<a href="cpp-language-enum.html">&#26522;&#20030;</a> &#30340; using &#22768;&#26126;&#19981;&#24341;&#20837;&#20854;&#20219;&#20309;&#26522;&#20030;&#39033;&#12290;</p>
<p>&#38024;&#23545;&#30456;&#21516;&#21517;&#23383;&#30340;&#24120;&#35268;&#22768;&#26126;&#30340;&#25152;&#26377;&#21046;&#32422;&#65292;&#38544;&#34255;&#21644;&#37325;&#36733;&#35268;&#21017;&#65292;&#22343;&#36866;&#29992;&#20110; using &#22768;&#26126;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> A <span class="br0">{</span>
<span class="kw4">int</span> x<span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw1">namespace</span> B <span class="br0">{</span>
<span class="kw4">int</span> i<span class="sy4">;</span>
<span class="kw1">struct</span> g <span class="br0">{</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="kw1">struct</span> x <span class="br0">{</span> <span class="br0">}</span><span class="sy4">;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">double</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> g<span class="br0">(</span><span class="kw4">char</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// OK&#65306;&#20989;&#25968;&#21517; g &#38544;&#34255;&#31867; g</span>
<span class="br0">}</span>
<span class="kw4">void</span> func<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
<span class="kw4">int</span> i<span class="sy4">;</span>
<span class="kw1">using</span> B<span class="sy4">::</span><span class="me2">i</span><span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;i &#22768;&#26126;&#20102;&#20004;&#27425;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">char</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw1">using</span> B<span class="sy4">::</span><span class="me2">f</span><span class="sy4">;</span> <span class="co1">// OK&#65306;f(char)&#12289;f(int)&#12289;f(double) &#26159;&#37325;&#36733;</span>
f<span class="br0">(</span><span class="nu16">3.5</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#35843;&#29992; B::f(double)</span>
<span class="kw1">using</span> B<span class="sy4">::</span><span class="me2">g</span><span class="sy4">;</span>
g<span class="br0">(</span><span class="st0">&#39;a&#39;</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#35843;&#29992; B::g(char)</span>
<span class="kw1">struct</span> g g1<span class="sy4">;</span> <span class="co1">// &#22768;&#26126; g1 &#25317;&#26377;&#31867;&#22411; struct B::g</span>
<span class="kw1">using</span> B<span class="sy4">::</span><span class="me2">x</span><span class="sy4">;</span>
<span class="kw1">using</span> A<span class="sy4">::</span><span class="me2">x</span><span class="sy4">;</span> <span class="co1">// OK &#65306;&#38544;&#34255; B::x</span>
x <span class="sy1">=</span> <span class="nu0">99</span><span class="sy4">;</span> <span class="co1">// &#36171;&#20540;&#32473; A::x</span>
<span class="kw1">struct</span> x x1<span class="sy4">;</span> <span class="co1">// &#22768;&#26126; x1 &#25317;&#26377;&#31867;&#22411; struct B::x</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#22914;&#26524; using &#22768;&#26126;&#24341;&#20837;&#20102;&#19968;&#20010;&#20989;&#25968;&#65292;&#21017;&#22768;&#26126;&#19968;&#20010;&#25317;&#26377;&#30456;&#21516;&#21517;&#23383;&#21644;&#24418;&#21442;&#21015;&#34920;&#30340;&#20989;&#25968;&#26159;&#38750;&#33391;&#26500;&#30340;&#65288;&#38500;&#38750;&#26159;&#21516;&#19968;&#20989;&#25968;&#30340;&#22768;&#26126;&#65289;&#12290;&#22914;&#26524; using &#22768;&#26126;&#24341;&#20837;&#20102;&#19968;&#20010;&#20989;&#25968;&#27169;&#26495;&#65292;&#21017;&#22768;&#26126;&#25317;&#26377;&#30456;&#21516;&#21517;&#23383;&#12289;&#24418;&#21442;&#31867;&#22411;&#21015;&#34920;&#12289;&#36820;&#22238;&#31867;&#22411;&#21450;&#27169;&#26495;&#24418;&#21442;&#21015;&#34920;&#30340;&#20989;&#25968;&#27169;&#26495;&#26159;&#38750;&#33391;&#26500;&#30340;&#12290;&#20004;&#20010; using &#22768;&#26126;&#21487;&#20197;&#24341;&#20837;&#25317;&#26377;&#30456;&#21516;&#21517;&#23383;&#21644;&#24418;&#21442;&#21015;&#34920;&#30340;&#20989;&#25968;&#65292;&#20294;&#35797;&#22270;&#35843;&#29992;&#35813;&#20989;&#25968;&#20250;&#23548;&#33268;&#31243;&#24207;&#38750;&#33391;&#26500;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> B <span class="br0">{</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">double</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw1">namespace</span> C <span class="br0">{</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">double</span><span class="br0">)</span><span class="sy4">;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">char</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw4">void</span> h<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
<span class="kw1">using</span> B<span class="sy4">::</span><span class="me2">f</span><span class="sy4">;</span> <span class="co1">// &#24341;&#20837; B::f(int)&#12289;B::f(double)</span>
<span class="kw1">using</span> C<span class="sy4">::</span><span class="me2">f</span><span class="sy4">;</span> <span class="co1">// &#24341;&#20837; C::f(int)&#12289;C::f(double) &#21450; C::f(char)</span>
f<span class="br0">(</span><span class="st0">&#39;h&#39;</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#35843;&#29992; C::f(char)</span>
f<span class="br0">(</span><span class="nu0">1</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;B::f(int) &#36824;&#26159; C::f(int)&#65311;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;f(int) &#19982; C::f(int) &#21450; B::f(int) &#20914;&#31361;</span>
<span class="br0">}</span></pre></div>
</div>
<table class="t-rev-begin">
<tr class="t-rev t-since-cxx14">
<td>
<p>&#22914;&#26524;&#26576;&#20010;&#23454;&#20307;&#34987;&#22768;&#26126;&#65292;&#20294;&#26410;&#22312;&#26576;&#20869;&#23618;&#21629;&#21517;&#31354;&#38388;&#20013;&#34987;&#23450;&#20041;&#65292;&#28982;&#21518;&#22312;&#22806;&#23618;&#21629;&#21517;&#31354;&#38388;&#20013;&#36890;&#36807; using &#22768;&#26126;&#20104;&#20197;&#22768;&#26126;&#65292;&#28982;&#21518;&#22312;&#22806;&#23618;&#21629;&#21517;&#31354;&#38388;&#20013;&#20877;&#20986;&#29616;&#25317;&#26377;&#30456;&#21516;&#30340;&#38750;&#38480;&#23450;&#21517;&#30340;&#23450;&#20041;&#65292;&#21017;&#35813;&#23450;&#20041;&#26159;&#22806;&#23618;&#21629;&#21517;&#31354;&#38388;&#30340;&#25104;&#21592;&#65292;&#19988;&#19982; using &#22768;&#26126;&#20914;&#31361;&#65306;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> X <span class="br0">{</span>
<span class="kw1">namespace</span> M <span class="br0">{</span>
<span class="kw4">void</span> g<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#22768;&#26126;&#65292;&#20294;&#19981;&#23450;&#20041; X::M::g()</span>
<span class="br0">}</span>
<span class="kw1">using</span> M<span class="sy4">::</span><span class="me2">g</span><span class="sy4">;</span>
<span class="kw4">void</span> g<span class="br0">(</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;&#35797;&#22270;&#22768;&#26126;&#19982; X::M::g() &#20914;&#31361;&#30340; X::g</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#26356;&#19968;&#33324;&#22320;&#65292;&#22312;&#20219;&#20309;&#21629;&#21517;&#31354;&#38388;&#20316;&#29992;&#22495;&#20013;&#20986;&#29616;&#24182;&#29992;&#26080;&#38480;&#23450;&#26631;&#35782;&#31526;&#24341;&#20837;&#21517;&#23383;&#30340;&#19968;&#20010;&#22768;&#26126;&#22987;&#32456;&#21521;&#23427;&#25152;&#22312;&#30340;&#21629;&#21517;&#31354;&#38388;&#20013;&#24341;&#20837;&#19968;&#20010;&#25104;&#21592;&#65292;&#32780;&#24182;&#38750;&#21521;&#20219;&#20309;&#20854;&#20182;&#21629;&#21517;&#31354;&#38388;&#24341;&#20837;&#12290;&#20363;&#22806;&#24773;&#20917;&#26159;&#23545;&#22312;&#20869;&#32852;&#21629;&#21517;&#31354;&#38388;&#23450;&#20041;&#30340;&#20027;&#27169;&#26495;&#36827;&#34892;&#30340;&#26174;&#24335;&#23454;&#20363;&#21270;&#21644;&#26174;&#24335;&#29305;&#21270;&#65306;&#22240;&#20026;&#23427;&#20204;&#19981;&#24341;&#20837;&#26032;&#21517;&#23383;&#65292;&#23427;&#20204;&#22312;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#20013;&#21487;&#20197;&#20351;&#29992;&#26080;&#38480;&#23450;&#26631;&#35782;&#12290;</p>
</td>
<td><span class="t-mark-rev t-since-cxx14">(C++14 &#36215;)</span></td>
</tr>
</table>
<h4><span class="mw-headline" id="using_.E6.8C.87.E4.BB.A4">using &#25351;&#20196;</span></h4>
<p><i>using &#25351;&#20196;</i>&#26159;&#25317;&#26377;&#19979;&#21015;&#35821;&#27861;&#30340;<a href="cpp-language-declarations.html">&#22359;&#22768;&#26126;</a>&#65306;</p>
<table class="t-sdsc-begin">
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
<tr class="t-sdsc">
<td><span class="t-spar">&#23646;&#24615;</span><span class="t-mark">(&#21487;&#36873;)</span> <code><b>using namespace</b></code> <span class="t-spar">&#23884;&#22871;&#21517;&#35828;&#26126;&#31526;</span><span class="t-mark">(&#21487;&#36873;)</span> <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> <code><b>;</b></code></td>
<td>(1)</td>
<td class="t-sdsc-nopad"></td>
</tr>
<tr>
<td colspan="10" class="t-sdsc-sep"></td>
</tr>
</table>
<table class="t-par-begin">
<tr class="t-par">
<td><span class="t-spar">&#23646;&#24615;</span></td>
<td>-</td>
<td><span class="t-mark-rev t-since-cxx11">(C++11 &#36215;)</span> &#24212;&#29992;&#21040;&#27492; using &#25351;&#20196;&#30340;&#20219;&#24847;&#25968;&#37327;&#30340;<a href="cpp-language-attributes.html">&#23646;&#24615;</a></td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#23884;&#22871;&#21517;&#35828;&#26126;&#31526;</span></td>
<td>-</td>
<td>&#21517;&#23383;&#19982;&#20316;&#29992;&#22495;&#35299;&#26512;&#36816;&#31639;&#31526; <code>::</code> &#30340;&#24207;&#21015;&#65292;&#20197;&#20316;&#29992;&#22495;&#35299;&#26512;&#36816;&#31639;&#31526;&#32467;&#26463;&#12290;&#21333;&#20010; <code>::</code> &#20195;&#34920;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;&#12290;</td>
</tr>
<tr class="t-par">
<td><span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span></td>
<td>-</td>
<td>&#21629;&#21517;&#31354;&#38388;&#21517;&#12290;&#26597;&#25214;&#27492;&#21517;&#26102;&#65292;<a href="cpp-language-lookup.html">&#26597;&#25214;</a>&#21482;&#32771;&#34385;&#21629;&#21517;&#31354;&#38388;&#22768;&#26126;</td>
</tr>
</table>
<p>using &#25351;&#20196;&#21482;&#33021;&#22312;&#21629;&#21517;&#31354;&#38388;<a href="cpp-language-scope.html">&#20316;&#29992;&#22495;</a>&#21644;&#22359;&#20316;&#29992;&#22495;&#20013;&#20986;&#29616;&#12290;&#20174;&#26576;&#20010; using &#25351;&#20196;&#20043;&#21518;&#21040;&#35813;&#25351;&#20196;&#20986;&#29616;&#30340;&#20316;&#29992;&#22495;&#32467;&#23614;&#20026;&#27490;&#65292;&#20197;&#20219;&#20309;&#21517;&#23383;&#30340;&#26080;&#38480;&#23450;<a href="cpp-language-lookup.html">&#21517;&#23383;&#26597;&#25214;</a>&#30340;&#35282;&#24230;&#65292;&#26469;&#33258; <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> &#30340;&#27599;&#20010;&#21517;&#23383;&#22343;&#21487;&#35265;&#65292;&#22914;&#21516;&#23427;&#22312;&#21516;&#26102;&#21253;&#21547;&#35813; using &#25351;&#20196;&#21644; <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> &#20004;&#32773;&#30340;&#26368;&#25509;&#36817;&#22806;&#22260;&#21629;&#21517;&#31354;&#38388;&#22768;&#26126;&#19968;&#26679;&#12290;</p>
<p>using &#25351;&#20196;&#19981;&#21521;&#20854;&#25152;&#20986;&#29616;&#30340;&#22768;&#26126;&#24615;&#21306;&#22495;&#28155;&#21152;&#20219;&#20309;&#21517;&#23383;&#65288;&#19982; using &#22768;&#26126;&#19981;&#21516;&#65289;&#65292;&#22240;&#32780;&#24182;&#19981;&#22952;&#30861;&#20877;&#22768;&#26126;&#30456;&#21516;&#30340;&#21517;&#23383;&#12290;</p>
<p>using &#25351;&#20196;&#23545;&#20110;<a href="cpp-language-lookup.html">&#26080;&#38480;&#23450;&#26597;&#25214;</a>&#26159;&#20256;&#36882;&#24615;&#30340;&#65306;&#22914;&#26524;&#20316;&#29992;&#22495;&#21253;&#21547;&#25351;&#21517; <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;</span> &#30340; using &#25351;&#20196;&#65292;&#32780;&#23427;&#33258;&#36523;&#21253;&#21547;&#23545;&#26576; <span class="t-spar">&#21629;&#21517;&#31354;&#38388;&#21517;2</span> &#30340; using &#25351;&#20196;&#65292;&#21017;&#25928;&#26524;&#22914;&#21516;&#31532;&#20108;&#20010;&#21629;&#21517;&#31354;&#38388;&#20013;&#30340; using &#25351;&#20196;&#20986;&#29616;&#22312;&#31532;&#19968;&#20010;&#20043;&#20013;&#19968;&#26679;&#12290;&#36825;&#20123;&#20256;&#36882;&#24615;&#21629;&#21517;&#31354;&#38388;&#30340;&#20986;&#29616;&#39034;&#24207;&#24182;&#19981;&#24433;&#21709;&#21517;&#23383;&#26597;&#25214;&#12290;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> A <span class="br0">{</span>
<span class="kw4">int</span> i<span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw1">namespace</span> B <span class="br0">{</span>
<span class="kw4">int</span> i<span class="sy4">;</span>
<span class="kw4">int</span> j<span class="sy4">;</span>
<span class="kw1">namespace</span> C <span class="br0">{</span>
<span class="kw1">namespace</span> D <span class="br0">{</span>
<span class="kw1">using</span> <span class="kw1">namespace</span> A<span class="sy4">;</span> <span class="co1">// &#23558;&#25152;&#26377;&#26469;&#33258; A &#30340;&#21517;&#31216;&#27880;&#20837;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;</span>
<span class="kw4">int</span> j<span class="sy4">;</span>
<span class="kw4">int</span> k<span class="sy4">;</span>
<span class="kw4">int</span> a <span class="sy1">=</span> i<span class="sy4">;</span> <span class="co1">// i &#26159; B::i&#65292;&#22240;&#20026; B::i &#38544;&#34255; A::i</span>
<span class="br0">}</span>
<span class="kw1">using</span> <span class="kw1">namespace</span> D<span class="sy4">;</span> <span class="co1">// &#27880;&#20837;&#26469;&#33258; D &#30340;&#21517;&#31216;&#21040; C</span>
<span class="co1">// &#27880;&#20837;&#26469;&#33258; A &#30340;&#21517;&#31216;&#21040;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;</span>
<span class="kw4">int</span> k <span class="sy1">=</span> <span class="nu0">89</span><span class="sy4">;</span> <span class="co1">// &#22768;&#26126;&#19982;&#29992; using &#24341;&#20837;&#32773;&#31561;&#21516;&#30340;&#21517;&#31216; OK</span>
<span class="kw4">int</span> l <span class="sy1">=</span> k<span class="sy4">;</span> <span class="co1">// &#27495;&#20041;&#65306;C::k &#36824;&#26159; D::k</span>
<span class="kw4">int</span> m <span class="sy1">=</span> i<span class="sy4">;</span> <span class="co1">// OK&#65306;B::i &#38544;&#34255; A::i</span>
<span class="kw4">int</span> n <span class="sy1">=</span> j<span class="sy4">;</span> <span class="co1">// OK&#65306;D::j &#38544;&#34255; B::j</span>
<span class="br0">}</span>
<span class="br0">}</span></pre></div>
</div>
<p>&#22312;&#20351;&#29992; using &#25351;&#20196;&#25351;&#21517;&#26576;&#21629;&#21517;&#31354;&#38388;&#21518;&#65292;&#33509;&#35813;&#21629;&#21517;&#31354;&#38388;&#34987;&#25193;&#20805;&#24182;&#21521;&#20854;&#28155;&#21152;&#20102;&#39069;&#22806;&#30340;&#25104;&#21592;&#21644;/&#25110; using &#25351;&#20196;&#65292;&#21017;&#36825;&#20123;&#39069;&#22806;&#25104;&#21592;&#21644;&#39069;&#22806;&#30340;&#21629;&#21517;&#31354;&#38388;&#36890;&#36807;&#35813; using &#25351;&#20196;&#21487;&#35265;&#65288;&#19982; using &#22768;&#26126;&#30456;&#21453;&#65289;</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="kw1">namespace</span> D <span class="br0">{</span>
<span class="kw4">int</span> d1<span class="sy4">;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">char</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw1">using</span> <span class="kw1">namespace</span> D<span class="sy4">;</span> <span class="co1">// &#24341;&#20837; D::d1&#12289;D::f&#12289;D::d2&#12289;D::f&#65292;</span>
<span class="co1">// E::e &#21450; E::f &#21040;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;&#65281;</span>
<span class="kw4">int</span> d1<span class="sy4">;</span> <span class="co1">// OK&#65306;&#22768;&#26126;&#26102;&#19982; D::d1 &#19981;&#20914;&#31361;</span>
<span class="kw1">namespace</span> E <span class="br0">{</span>
<span class="kw4">int</span> e<span class="sy4">;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw1">namespace</span> D <span class="br0">{</span> <span class="co1">// &#21629;&#21517;&#31354;&#38388;&#25193;&#23637;</span>
<span class="kw4">int</span> d2<span class="sy4">;</span>
<span class="kw1">using</span> <span class="kw1">namespace</span> E<span class="sy4">;</span> <span class="co1">// &#20256;&#36882;&#24615; using &#25351;&#20196;</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="kw4">int</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw4">void</span> f<span class="br0">(</span><span class="br0">)</span> <span class="br0">{</span>
d1<span class="sy2">++</span><span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;&#27495;&#20041;&#65306;::d1 &#36824;&#26159; D::d1&#65311;</span>
<span class="sy4">::</span><span class="me2">d1</span><span class="sy2">++</span><span class="sy4">;</span> <span class="co1">// OK</span>
D<span class="sy4">::</span><span class="me2">d1</span><span class="sy2">++</span><span class="sy4">;</span> <span class="co1">// OK</span>
d2<span class="sy2">++</span><span class="sy4">;</span> <span class="co1">// OK&#65292;d2 &#26159; D::d2</span>
e<span class="sy2">++</span><span class="sy4">;</span> <span class="co1">// OK&#65306;&#22240;&#20026;&#20256;&#36882;&#24615; using&#65292;&#25152;&#20197; e &#26159; E::e</span>
f<span class="br0">(</span><span class="nu0">1</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;&#27495;&#20041;&#65306;D::f(int) &#36824;&#26159; E::f(int)&#65311;</span>
f<span class="br0">(</span><span class="st0">&#39;a&#39;</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// OK&#65306;&#20165;&#26377;&#30340; f(char) &#26159; D::f(char)</span>
<span class="br0">}</span></pre></div>
</div>
<h3><span class="mw-headline" id=".E6.B3.A8.E8.A7.A3">&#27880;&#35299;</span></h3>
<p>&#22312;&#20219;&#20309;&#21629;&#21517;&#31354;&#38388;&#20316;&#29992;&#22495;&#20013;&#30340; using &#25351;&#20196; <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">using</span> <span class="kw1">namespace</span> std<span class="sy4">;</span></span></span>&#23558;&#21629;&#21517;&#31354;&#38388; <code>std</code> &#20013;&#30340;&#25152;&#26377;&#21517;&#23383;&#37117;&#24341;&#20837;&#21040;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;&#20013;&#65288;&#22240;&#20026;&#20840;&#23616;&#21629;&#21517;&#31354;&#38388;&#26159;&#21516;&#26102;&#21253;&#21547; <code>std</code> &#21644;&#20219;&#20309;&#29992;&#25143;&#22768;&#26126;&#21629;&#21517;&#31354;&#38388;&#30340;&#26368;&#36817;&#21629;&#21517;&#31354;&#38388;&#65289;&#65292;&#36825;&#21487;&#33021;&#23548;&#33268;&#19981;&#21512;&#39044;&#26399;&#30340;&#21517;&#23383;&#20914;&#31361;&#12290;&#36890;&#24120;&#35748;&#20026;&#65292;&#22312;&#22836;&#25991;&#20214;&#30340;&#25991;&#20214;&#20316;&#29992;&#22495;&#20013;&#37319;&#29992;&#23427;&#25110;&#20854;&#20182;&#30340; using &#25351;&#20196;&#26159;&#19981;&#33391;&#30340;&#23454;&#36341;&#65288;<a rel="nofollow" class="external text" href="https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rs-using-directive">SF.7&#65306;&#19981;&#35201;&#22312;&#22836;&#25991;&#20214;&#30340;&#20840;&#23616;&#20316;&#29992;&#22495;&#20013;&#20889; using namespace</a>&#65289;&#12290;</p>
<h3><span class="mw-headline" id=".E7.A4.BA.E4.BE.8B">&#31034;&#20363;</span></h3>
<div class="t-example">
<p>&#27492;&#20363;&#23637;&#31034;&#22914;&#20309;&#29992;&#21629;&#21517;&#31354;&#38388;&#21019;&#24314;&#24050;&#22312; <code>std</code> &#21629;&#21517;&#31354;&#38388;&#21629;&#21517;&#30340;&#31867;&#12290;</p>
<div class="t-example-live-link"></div>
<div dir="ltr" class="mw-geshi" style="text-align: left;">
<div class="cpp source-cpp">
<pre class="de1"><span class="co2">#include &lt;vector&gt;</span>
<span class="kw1">namespace</span> vec <span class="br0">{</span>
<span class="kw1">template</span><span class="sy1">&lt;</span> <span class="kw1">typename</span> T <span class="sy1">&gt;</span>
<span class="kw1">class</span> vector <span class="br0">{</span>
<span class="co1">// ...</span>
<span class="br0">}</span><span class="sy4">;</span>
<span class="br0">}</span>
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
<a href="cpp-container-vector.html"><span class="kw1269">std::<span class="me2">vector</span></span></a><span class="sy1">&lt;</span><span class="kw4">int</span><span class="sy1">&gt;</span> v1<span class="sy4">;</span> <span class="co1">// &#26631;&#20934; vector&#12290;</span>
vec<span class="sy4">::</span><span class="me2">vector</span><span class="sy1">&lt;</span><span class="kw4">int</span><span class="sy1">&gt;</span> v2<span class="sy4">;</span> <span class="co1">// &#29992;&#25143;&#23450;&#20041; vector&#12290;</span>
v1 <span class="sy1">=</span> v2<span class="sy4">;</span> <span class="co1">// &#38169;&#35823;&#65306;v1 &#19982; v2 &#26159;&#19981;&#21516;&#31867;&#22411;&#30340;&#23545;&#35937;&#12290;</span>
<span class="br0">{</span>
<span class="kw1">using</span> <span class="kw1">namespace</span> std<span class="sy4">;</span>
vector<span class="sy1">&lt;</span><span class="kw4">int</span><span class="sy1">&gt;</span> v3<span class="sy4">;</span> <span class="co1">// &#21516; std::vector</span>
v1 <span class="sy1">=</span> v3<span class="sy4">;</span> <span class="co1">// OK</span>
<span class="br0">}</span>
<span class="br0">{</span>
<span class="kw1">using</span> vec<span class="sy4">::</span><span class="me2">vector</span><span class="sy4">;</span>
vector<span class="sy1">&lt;</span><span class="kw4">int</span><span class="sy1">&gt;</span> v4<span class="sy4">;</span> <span class="co1">// &#21516; vec::vector</span>
v2 <span class="sy1">=</span> v4<span class="sy4">;</span> <span class="co1">// OK</span>
<span class="br0">}</span>
<span class="kw1">return</span> <span class="nu0">0</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div>
</div>
</div>
<h3><span class="mw-headline" id=".E7.BC.BA.E9.99.B7.E6.8A.A5.E5.91.8A">&#32570;&#38519;&#25253;&#21578;</span></h3>
<p>&#19979;&#21015;&#26356;&#25913;&#34892;&#20026;&#30340;&#32570;&#38519;&#25253;&#21578;&#36861;&#28335;&#22320;&#24212;&#29992;&#20110;&#20197;&#21069;&#20986;&#29256;&#30340; C++ &#26631;&#20934;&#12290;</p>
<table class="dsctable" style="font-size:0.8em">
<tr>
<th>DR</th>
<th>&#24212;&#29992;&#20110;</th>
<th>&#20986;&#29256;&#26102;&#30340;&#34892;&#20026;</th>
<th>&#27491;&#30830;&#34892;&#20026;</th>
</tr>
<tr>
<td><a rel="nofollow" class="external text" href="https://wg21.cmeerw.net/cwg/issue1838">CWG 1838</a></td>
<td>C++14</td>
<td>&#22806;&#23618;&#21629;&#21517;&#31354;&#38388;&#30340;&#38750;&#38480;&#23450;&#23450;&#20041;&#65292;&#26366;&#33021;&#23450;&#20041;&#19968;&#20010;
<p>&#22312;&#21478;&#19968;&#21629;&#21517;&#31354;&#38388;&#22768;&#26126;&#20294;&#19981;&#23450;&#20041;&#30340;&#23454;&#20307;&#65292;&#24182;&#29992; using &#25289;&#20837;</p>
</td>
<td>&#38750;&#38480;&#23450;&#23450;&#20041;&#22987;&#32456;&#25351;&#28041;&#20854;&#21629;&#21517;&#31354;&#38388;</td>
</tr>
</table>
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">&#21442;&#38405;</span></h3>
<table class="t-dsc-begin">
<tr class="t-dsc">
<td><a href="cpp-language-namespace_alias.html">&#21629;&#21517;&#31354;&#38388;&#21035;&#21517;</a></td>
<td>&#20026;&#26082;&#23384;&#21629;&#21517;&#31354;&#38388;&#21019;&#24314;&#19968;&#20010;&#21035;&#21517;</td>
</tr>
</table>
</div>
<div class="visualClear"></div>
</div>
</div>
</div>
</body>
</html>