201 lines
19 KiB
HTML
201 lines
19 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>C++ 语言</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 skin-cppreference2 action-view cpp-navbar">
|
|
<div id="cpp-content-base">
|
|
<div id="content"><a id="top"></a>
|
|
<h1 id="firstHeading" class="firstHeading">C++ 语言</h1>
|
|
<div id="bodyContent">
|
|
<div id="contentSub"><span class="subpages">< <a href="cpp.html">cpp</a></span></div>
|
|
<div id="mw-content-text" lang="zh" dir="ltr" class="mw-content-ltr" xml:lang="zh">
|
|
<p>这是一份核心 C++ 语言构造的参考手册。</p>
|
|
<table cellpadding="5">
|
|
<tr valign="top">
|
|
<td>
|
|
<p><b><a href="cpp-language-basic_concepts.html">基本概念</a></b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-comment.html">注释</a><br />
|
|
<a href="cpp-language-ascii.html">ASCII 码表</a><br />
|
|
<a href="cpp-language-punctuators.html">标点</a><br />
|
|
<a href="cpp-language-identifiers.html">名字与标识符</a><br />
|
|
<a href="cpp-language-type.html">类型</a> – <a href="cpp-language-types.html">基础类型</a><br />
|
|
<a href="cpp-language-object.html">对象</a> – <a href="cpp-language-scope.html">作用域</a> – <a href="cpp-language-lifetime.html">生存期</a><br />
|
|
<a href="cpp-language-definition.html">定义与 ODR</a><br />
|
|
<a href="cpp-language-lookup.html">名字查找</a><br />
|
|
<a href="cpp-language-qualified_lookup.html">有限定</a> – <a href="cpp-language-unqualified_lookup.html">无限定</a>(<a href="cpp-language-adl.html">实参依赖</a>)<br />
|
|
<a href="cpp-language-as_if.html">“如同”规则</a><br />
|
|
<a href="cpp-language-ub.html">未定义行为</a><br />
|
|
<a href="cpp-language-memory_model.html">内存模型与数据竞争</a><br />
|
|
<a href="cpp-language-charset.html">字符集与编码</a><br />
|
|
<a href="cpp-language-translation_phases.html">翻译阶段</a><br />
|
|
<a href="cpp-language-main_function.html"><code>main</code> 函数</a><br />
|
|
<a href="cpp-language-modules.html">模块</a> <span class="t-mark-rev t-since-cxx20">(C++20)</span><br /></p>
|
|
</div>
|
|
<p><b><a href="cpp-keyword.html">关键词</a></b></p>
|
|
<div class="mainpagediv"></div>
|
|
<p><b><a href="cpp-preprocessor.html">预处理器</a></b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-preprocessor-conditional.html"><code>#if</code> - <code>#ifdef</code> - <code>#ifndef</code> - <code>#elif</code></a><br />
|
|
<a href="cpp-preprocessor-conditional.html"><code>#elifdef</code> - <code>#elifndef</code></a><span class="t-mark-rev t-since-cxx23">(C++23)</span><br />
|
|
<a href="cpp-preprocessor-replace.html"><code>#define</code> - <code>#</code> - <code>##</code></a><br />
|
|
<a href="cpp-preprocessor-include.html"><code>#include</code></a> - <a href="cpp-preprocessor-impl.html"><code>#pragma</code></a><br />
|
|
<a href="cpp-preprocessor-line.html"><code>#line</code></a> - <a href="cpp-preprocessor-error.html"><code>#error</code></a><br /></p>
|
|
</div>
|
|
<p><b><a href="cpp-language-expressions.html">表达式</a></b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-language-value_category.html">值类别</a><br />
|
|
<a href="cpp-language-eval_order.html">求值顺序与定序</a><br />
|
|
<a href="cpp-language-constant_expression.html">常量表达式</a><br />
|
|
<a href="cpp-language-expressions.html#.E8.BF.90.E7.AE.97.E7.AC.A6">运算符</a><br />
|
|
<a href="cpp-language-operator_assignment.html">赋值</a> – <a href="cpp-language-operator_arithmetic.html">算术</a><br />
|
|
<a href="cpp-language-operator_incdec.html">自增与自减</a><br />
|
|
<a href="cpp-language-operator_logical.html">逻辑</a> – <a href="cpp-language-operator_comparison.html">比较</a><br />
|
|
<a href="cpp-language-operator_member_access.html">成员访问与间接</a><br />
|
|
<a href="cpp-language-operator_other.html">调用、逗号、三元</a><br />
|
|
<a href="cpp-language-sizeof.html"><code>sizeof</code></a> – <a href="cpp-language-alignof.html"><code>alignof</code></a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-new.html"><code>new</code></a> – <a href="cpp-language-delete.html"><code>delete</code></a> – <a href="cpp-language-typeid.html"><code>typeid</code></a><br />
|
|
<a href="cpp-language-operators.html">运算符重载</a><br />
|
|
<a href="cpp-language-default_comparisons.html">默认比较</a> <span class="t-mark-rev t-since-cxx20">(C++20)</span><br />
|
|
<a href="cpp-language-operator_precedence.html">运算符优先级</a><br />
|
|
<a href="cpp-language-expressions.html#.E8.BD.AC.E6.8D.A2">转换</a><br />
|
|
<a href="cpp-language-implicit_conversion.html">隐式</a> – <a href="cpp-language-explicit_cast.html">显式</a> – <a href="cpp-language-cast_operator.html">用户定义</a><br />
|
|
<a href="cpp-language-static_cast.html"><code>static_cast</code></a> – <a href="cpp-language-dynamic_cast.html"><code>dynamic_cast</code></a><br />
|
|
<a href="cpp-language-const_cast.html"><code>const_cast</code></a> – <a href="cpp-language-reinterpret_cast.html"><code>reinterpret_cast</code></a><br />
|
|
<a href="cpp-language-expressions.html#.E5.AD.97.E9.9D.A2.E9.87.8F">字面量</a><br />
|
|
<a href="cpp-language-bool_literal.html">布尔</a> – <a href="cpp-language-integer_literal.html">整数</a> – <a href="cpp-language-floating_literal.html">浮点</a><br />
|
|
<a href="cpp-language-character_literal.html">字符</a> – <a href="cpp-language-string_literal.html">字符串</a><br />
|
|
<a href="cpp-language-nullptr.html"><code>nullptr</code></a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-user_literal.html">用户定义</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br /></p>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<p><b><a href="cpp-language-declarations.html">声明</a></b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-language-namespace.html">命名空间声明</a><br />
|
|
<a href="cpp-language-namespace_alias.html">命名空间别名</a><br />
|
|
<a href="cpp-language-reference.html">引用</a> – <a href="cpp-language-pointer.html">指针</a> – <a href="cpp-language-array.html">数组</a><br />
|
|
<a href="cpp-language-structured_binding.html">结构化绑定</a> <span class="t-mark-rev t-since-cxx17">(C++17)</span><br />
|
|
<a href="cpp-language-enum.html">枚举与枚举项</a><br />
|
|
<a href="cpp-language-storage_duration.html">存储期与链接</a><br />
|
|
<a href="cpp-language-tu_local.html">翻译单元局部</a> <span class="t-mark-rev t-since-cxx20">(C++20)</span><br />
|
|
<a href="cpp-language-language_linkage.html">语言链接</a><br />
|
|
<a href="cpp-language-inline.html"><code>inline</code> 说明符</a><br />
|
|
<a href="cpp-language-asm.html">内联汇编</a><br />
|
|
<a href="cpp-language-cv.html"><code>const</code>/<code>volatile</code></a> – <a href="cpp-language-constexpr.html"><code>constexpr</code></a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-consteval.html"><code>consteval</code></a> <span class="t-mark-rev t-since-cxx20">(C++20)</span> – <a href="cpp-language-constinit.html"><code>constinit</code></a> <span class="t-mark-rev t-since-cxx20">(C++20)</span><br />
|
|
<a href="cpp-language-decltype.html"><code>decltype</code></a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> – <a href="cpp-language-auto.html"><code>auto</code></a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-typedef.html"><code>typedef</code></a> – <a href="cpp-language-type_alias.html">类型别名</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-elaborated_type_specifier.html">详述类型说明符</a><br />
|
|
<a href="cpp-language-attributes.html">属性</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> – <a href="cpp-language-alignas.html"><code>alignas</code></a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-static_assert.html"><code>static_assert</code></a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br /></p>
|
|
</div>
|
|
<p><b><a href="cpp-language-initialization.html">初始化</a></b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-language-default_initialization.html">默认初始化</a><br />
|
|
<a href="cpp-language-value_initialization.html">值初始化</a> <span class="t-mark-rev t-since-cxx03">(C++03)</span><br />
|
|
<a href="cpp-language-copy_initialization.html">复制初始化</a><br />
|
|
<a href="cpp-language-direct_initialization.html">直接初始化</a><br />
|
|
<a href="cpp-language-aggregate_initialization.html">聚合初始化</a><br />
|
|
<a href="cpp-language-list_initialization.html">列表初始化</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-reference_initialization.html">引用初始化</a><br />
|
|
<a href="cpp-language-initialization.html#.E9.9D.9E.E5.B1.80.E9.83.A8.E5.8F.98.E9.87.8F">静态非局部初始化</a><br />
|
|
<a href="cpp-language-zero_initialization.html">零</a> – <a href="cpp-language-constant_initialization.html">常量</a><br />
|
|
<a href="cpp-language-initialization.html#.E9.9D.9E.E5.B1.80.E9.83.A8.E5.8F.98.E9.87.8F">动态非局部初始化</a><br />
|
|
<a href="cpp-language-initialization.html#.E9.9D.9E.E5.B1.80.E9.83.A8.E5.8F.98.E9.87.8F">有序</a> – <a href="cpp-language-initialization.html#.E9.9D.9E.E5.B1.80.E9.83.A8.E5.8F.98.E9.87.8F">无序</a><br />
|
|
<a href="cpp-language-copy_elision.html">复制消除</a><br /></p>
|
|
</div>
|
|
<p><b><a href="cpp-language-functions.html">函数</a></b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-language-function.html">函数声明</a><br />
|
|
<a href="cpp-language-default_arguments.html">默认实参</a><br />
|
|
<a href="cpp-language-variadic_arguments.html">变长实参</a><br />
|
|
<a href="cpp-language-lambda.html">Lambda 表达式</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-adl.html">实参依赖查找</a><br />
|
|
<a href="cpp-language-overload_resolution.html">重载决议</a><br />
|
|
<a href="cpp-language-operators.html">运算符重载</a><br />
|
|
<a href="cpp-language-overloaded_address.html">重载集的地址</a><br />
|
|
<a href="cpp-language-coroutines.html">协程</a> <span class="t-mark-rev t-since-cxx20">(C++20)</span><br /></p>
|
|
</div>
|
|
<p><b><a href="cpp-language-statements.html">语句</a></b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-language-if.html"><code>if</code></a> – <a href="cpp-language-switch.html"><code>switch</code></a><br />
|
|
<a href="cpp-language-for.html"><code>for</code></a> – <a href="cpp-language-range-for.html">范围 <code>for</code></a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-while.html"><code>while</code></a> – <a href="cpp-language-do.html"><code>do</code>-<code>while</code></a><br />
|
|
<a href="cpp-language-continue.html"><code>continue</code></a> – <a href="cpp-language-break.html"><code>break</code></a> – <a href="cpp-language-goto.html"><code>goto</code></a> – <a href="cpp-language-return.html"><code>return</code></a><br />
|
|
<a href="cpp-language-transactional_memory.html"><code>synchronized</code> 与 <code>atomic</code></a> <span class="t-mark-rev t-since-tm-ts t-mark-ts">(TM TS)</span><br /></p>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<p><b><a href="cpp-language-classes.html">类</a></b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-language-class.html">类类型</a> – <a href="cpp-language-union.html">联合类型</a><br />
|
|
<a href="cpp-language-injected-class-name.html">注入类名</a><br />
|
|
<a href="cpp-language-data_members.html">数据成员</a> – <a href="cpp-language-bit_field.html">位域</a><br />
|
|
<a href="cpp-language-member_functions.html">成员函数</a> – <a href="cpp-language-this.html"><code>this</code> 指针</a><br />
|
|
<a href="cpp-language-static.html">静态成员</a> – <a href="cpp-language-nested_types.html">嵌套类</a><br />
|
|
<a href="cpp-language-derived_class.html">派生类</a> – <a href="cpp-language-using_declaration.html"><code>using</code> 声明</a><br />
|
|
<a href="cpp-language-ebo.html">空基类优化</a><br />
|
|
<a href="cpp-language-virtual.html">虚函数</a> – <a href="cpp-language-abstract_class.html">抽象类</a><br />
|
|
<a href="cpp-language-override.html"><code>override</code></a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> – <a href="cpp-language-final.html"><code>final</code></a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-access.html">成员访问</a> – <a href="cpp-language-friend.html"><code>friend</code></a><br />
|
|
<a href="cpp-language-constructor.html">构造函数与成员初始化器列表</a><br />
|
|
<a href="cpp-language-default_constructor.html">默认构造函数</a> – <a href="cpp-language-destructor.html">析构函数</a><br />
|
|
<a href="cpp-language-copy_constructor.html">复制构造函数</a> – <a href="cpp-language-copy_assignment.html">复制赋值</a><br />
|
|
<a href="cpp-language-move_constructor.html">移动构造函数</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-move_assignment.html">移动赋值</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-converting_constructor.html">转换构造函数</a> – <a href="cpp-language-explicit.html"><code>explicit</code> 说明符</a><br /></p>
|
|
</div>
|
|
<p><b><a href="cpp-language-templates.html">模板</a></b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-language-template_parameters.html">模板形参与实参</a><br />
|
|
<a href="cpp-language-class_template.html">类模板</a> – <a href="cpp-language-function_template.html">函数模板</a><br />
|
|
<a href="cpp-language-variable_template.html">变量模板</a> <span class="t-mark-rev t-since-cxx14">(C++14)</span><br />
|
|
<a href="cpp-language-member_template.html">类成员模板</a><br />
|
|
<a href="cpp-language-template_argument_deduction.html">模板实参推导</a><br />
|
|
<a href="cpp-language-class_template_argument_deduction.html">类模板实参推导</a> <span class="t-mark-rev t-since-cxx17">(C++17)</span><br />
|
|
<a href="cpp-language-template_specialization.html">显式特化</a> – <a href="cpp-language-partial_specialization.html">部分特化</a><br />
|
|
<a href="cpp-language-parameter_pack.html">形参包</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> – <a href="cpp-language-sizeof....html"><code>sizeof...</code></a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-fold.html">折叠表达式</a> <span class="t-mark-rev t-since-cxx17">(C++17)</span><br />
|
|
<a href="cpp-language-dependent_name.html">待决名</a> – <a href="cpp-language-sfinae.html">SFINAE</a><br />
|
|
<a href="cpp-language-constraints.html">约束与概念</a> <span class="t-mark-rev t-since-cxx20">(C++20)</span><br /></p>
|
|
</div>
|
|
<p><b><a href="cpp-language-exceptions.html">异常</a></b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-language-throw.html"><code>throw</code> 表达式</a><br />
|
|
<a href="cpp-language-try_catch.html"><code>try</code>-<code>catch</code> 块</a><br />
|
|
<a href="cpp-language-function-try-block.html">函数 <code>try</code> 块</a><br />
|
|
<a href="cpp-language-noexcept_spec.html"><code>noexcept</code> 说明符</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-noexcept.html"><code>noexcept</code> 运算符</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span><br />
|
|
<a href="cpp-language-except_spec.html">动态异常说明</a> <span class="t-mark-rev t-until-cxx17">(C++17 前)</span><br /></p>
|
|
</div>
|
|
<p><b>杂项</b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-language-history.html">C++ 的历史</a><br />
|
|
<a href="cpp-language-extending_std.html">扩充命名空间 std</a><br />
|
|
<a href="cpp-language-acronyms.html">字母缩写</a></p>
|
|
</div>
|
|
<p><b>习语</b></p>
|
|
<div class="mainpagediv">
|
|
<p><a href="cpp-language-raii.html">资源获取即初始化</a><br />
|
|
<a href="cpp-language-rule_of_three.html">三/五/零法则</a><br />
|
|
<a href="cpp-language-pimpl.html">指向实现的指针</a><br />
|
|
<a href="cpp-language-Zero-overhead_principle.html">零开销原则</a></p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<h3><span class="mw-headline" id=".E5.8F.82.E9.98.85">参阅</span></h3>
|
|
<table class="t-dsc-begin"></table>
|
|
</div>
|
|
<div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|