Template:source
来自cppreference.com
{{{1}}}
这些是用于语法高亮的模板。
{{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=语言 (可选)}}
{{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>,
{{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嵌入上方文档。(编辑 | 历史) 请添加分类和维基间链接到 /doc 子页面。 此模板的子页面。 |