Template:example
来自cppreference.com
| 本节未完成 原因:暂无示例 |
这些是用于语法高亮的模板。
{{c|代码 |lang=语言 (可选)}}
- 目的为高亮内嵌代码的基本模板。
lang是可选的;默认使用 {{get lang}} 返回的值。应用半透明暗背景。 - 例如:
{{c|std::string(80, '_');}}会生成std::string(80, '_'); - 例如:
{{c|1= auto x = std::array{1, 2, 3};}}会生成auto x = std::array{1, 2, 3}; - 注意代码中有地方出现等于号
=的时候必须使用1=。
- 对于范围中的代码块(例如
[begin,end)),应优先考虑使用 {{range}} 模板一族。
{{c multi|第1行 |第2行 (可选)|... |第8行 (可选)|lang=语言 (可选)}}
- 同 {{c}},只不过支持多行代码(最多 8 行)。
lang是可选的;默认使用 {{get lang}} 返回的值。代码高亮不会跨行:所以要避免拆分字符串字面量("")和多行注释(/* */)。 - 例如(注意填充空格):
{{c multi|std::max(std::numeric_limits<int>::max(),| std::numeric_limits<int>::min())}} - 或者(注意缩进):
{{c multi
|std::max(std::numeric_limits<int>::max(),
| std::numeric_limits<int>::min())}}- 会生成
std::max(std::numeric_limits<int>::max(),std::numeric_limits<int>::min())。
- 注意代码中有某行出现等于号
=的时候必须使用对应行的|1=/|2=/|3=/.../|8=,例如{{c multi
|1=std::any = 42;
|2=std::any = 3.14;}} - 会生成
std::any = 42;std::any = 3.14;。
{{cc multi|line1 |line2 (可选)|... |line8 (可选)|lang=language (可选)}}
- 同 {{c multi}} 只是没有添加背景(比如边框)。
- 例如(注意填充空格):
{{cc multi|std::max(std::numeric_limits<int>::max(),| std::numeric_limits<int>::min())}}- 或者
{{cc multi|std::max(std::numeric_limits<int>::max(),|{{nbsp|9}}std::numeric_limits<int>::min())}}- 或者(注意缩进):
{{cc multi
|std::max(std::numeric_limits<int>::max(),
| std::numeric_limits<int>::min())}}- 会生成
std::max(std::numeric_limits<int>::max(),std::numeric_limits<int>::min()).
{{c/core|代码 |lang=语言 (可选)}}
- 同 {{c}},只不过不应用背景(例如边界盒)。应当仅用于其他模板中。
- 例如:
{{c/core|std::puts("C++");}}会生成std::puts("C++");
{{co|代码 |lang=语言 (可选)}}
- 同 {{c/core}},只不过不应用背景(例如边界盒)。应当用于表格中,边界盒由表格的框架设定。
- 例如:
{{co|std::basic_regex<char>}}会生成std::basic_regex<char>
{{box|标签 }}
- 与 {{c}} 类似,对若干给定标签格式化的文本的周围应用一整个边界盒。
- 例如:
{{box|{{lc|std::pair}}{{tt|''<int, char>''()}}}}会生成 std::pair<int,char>() - 例如:
{{ltt std|cpp/algorithm/swap}}{{tt|''<int>''}}{{c/core|(x, y);}}}}会生成 std::swap<int>(x, y);
{{box/core|标签 }}
- 同 {{box}},只不过不应用背景(例如边界盒)。
- 例如:
{{box/core|{{c/core|std::common_reference_t<ranges::range_reference_t<R1>,}}
<br>{{nbspt|24}}{{c/core|ranges::range_reference_t<R2>>}}}}- 会生成
std::common_reference_t<ranges::range_reference_t<R1>,ranges::range_reference_t<R2>>
{{cc|代码 |lang=语言 (可选)}}
- 基本模板,用于高亮大量的内嵌代码。通常在 {{c}} 模板不显示可读代码,但 {{source}} 会浪费太多空间时使用。
lang是可选的;默认使用 {{get lang}} 返回的值。 - 例如:
{{cc|1= assert(std::hypot(3, 4) == 5);}}会生成assert(std::hypot(3, 4) == 5);
{{source|代码 |lang=语言 (可选)}}
- 目的为高亮大量代码的基本模板。
lang是可选的;默认使用 {{get lang}} 返回的值。 - 例如,以下代码:
{{source|1=
int main()
{
__builtin_printf("你好,C++\n");
}
}}
- 会生成
int main()
{
__builtin_printf("你好,C++\n");
}
{{eq fun|代码1 |代码2 (可选)|... |代码4 (可选)|lang=语言 (可选)}}
- 基本模板,用于展示 可能实现 段落中的代码片段。参数
代码1、代码2等是所描述的函数模板的各个版本的代码(比如下面情形中的 std::fill 一族代码)。如果完全不提供代码,那么该模板会产生 {{todo}}。lang是可选的;默认使用 {{get lang}} 返回的值。
通常在 {{c}} 模板不显示可读代码,但 {{source}} 会浪费太多空间时使用。lang 是可选的;默认使用 {{get lang}} 返回的值。
- 例如,以下代码:
{{eq fun
| 1=
template<class ForwardIt, class T>
void fill(ForwardIt first, ForwardIt last, const T& value)
{
for (; first != last; ++first)
*first = value;
}
| 2=
template<class OutputIt, class Size, class T>
OutputIt fill_n(OutputIt first, Size count, const T& value)
{
for (Size i = 0; i < count; i++)
*first++ = value;
return first;
}
}}
- 会生成
| 版本一 |
|---|
template<class ForwardIt, class T>
void fill(ForwardIt first, ForwardIt last, const T& value)
{
for (; first != last; ++first)
*first = value;
}
|
| 版本二 |
template<class OutputIt, class Size, class T>
OutputIt fill_n(OutputIt first, Size count, const T& value)
{
for (Size i = 0; i < count; i++)
*first++ = value;
return first;
}
|
{{eq impl|代码1 |代码2 (可选)|... |代码4 (可选)|标题1 (可选)|... |标题4 (可选)|lang=语言 (可选)}}
额外的参数:
{{eq impl|ver1=链接1 |... |ver4=链接4 (可选)}}
- 与 {{eq fun}} 相同,但带有两个额外能力:
- 通过可选的参数
title1=你的标题, ...,title4=你的标题 来使用自定义标题替换任意默认标题。默认标题与前面提到的模板 {{eq fun}} 一致,即 版本一, ..., 版本四。 - 在标题文本“下面”自动生成内部链接。当指定了
verN时,此模板生成目标名字为“版本 num”的内部 HTML 链接。例如,若有ver2=3则将产生内部链接“#版本 3”。此种能力可以和 {{dcla}} 和 {{dcl rev multi}} 所产生的内部锚点相配合,以将 可能实现 代码段连接到 纲要 部分的声明。
{{example|描述 (可选)|lang=语言 (可选)|std=语言标准 (可选)|code=要展示的代码 |p=输出不确定时为true (可选)|output=样例输出 (可选)}}
- 示例的基本模板。如果
code不存在,那么该模板会产生 {{todo}}。lang默认为 {{get lang}} 返回的值。output指定代码所显示的输出。如果输出不确定,应当将设p为true以指示这点(显示可能的输出,而非单纯的输出)。
- 下列语言标准可用:
- cxx98, cxx03, cxx11, cxx14, c89, c99, c11
- 例如,以下代码:
{{example
| 注释字符串
| code=
int main()
{
__builtin_puts("你好,C++");
}
| p=true
| output=
你好,C++
}}
- 会产生以下内容:
注释字符串
运行此代码
int main()
{
__builtin_puts("你好,C++");
}
可能的输出:
你好,C++
| 从 Template:source/doc 嵌入上方文档。(编辑 | 历史) 此模板的子页面。 |