Template:cpp/numeric/random/get types
来自cppreference.com
这是所有 ***/get_types 模板的通用 描述。
***/get_types 模板用于简化 C++ 模板形参的定义。几个关联的 C++ 模板经常有一个行为相同的非成员函数。例如大多数 C++ 容器都有行为大多相同的比较运算符。我们通常想要将这些函数用一个模板表示,以减少维护负担。问题是 C++ 模板接受的函数实参经常会有不同的模板实参,这导致我们需要写一个巨大的 {{#switch:
语句。
此模板通过将那些模板实参定义为变量来解决该问题。
-
{{#var:types}}
包含了类型的长描述(用法:template< {{#var:types}} >
)。 -
{{#var:types_short}}
包含了类型的短描述(用法:Type<{{#var:types_short}}>
)。 -
{{#var:type_def}}
包含 P2248R8 中添加的默认模板实参(用法:= {{#var:type_def}}
)。
[编辑] 示例
{{cpp/container/get types|list}} {{source| template< {{#var:types}}, class Pred > typename std::list<{{#var:types_short}}>::size_type erase_if( std::list<{{#var:types_short}}>& c, Pred pred ); }}
导致
从 Template:get_types/doc 嵌入上方文档。(编辑 | 历史) 此模板的子页面。 |