CppCoreGuidelines T.13 对于简单单类型模板,建议使用简短格式
31 August 2023
“Prefer the shorthand notation for simple, single-type argument concepts”
理由
可读性更好。直接表达想法。
例子
这里想表达的是 T
是可排序的。
template<typename T> // Correct but verbose: "The parameter is requires sortable<T> // of type T which is the name of a type void sort(T&); // that is sortable" template<sortable T> // Better: "The parameter is of type T void sort(T&); // which is Sortable" void sort(sortable auto&); // Best: "The parameter is Sortable"
这个简短格式很符合我们所要表达的意思。注意,很多模板不需要用到
template
关键字。
强化
- 对于首先引入一个
typename
然后用一个简单的、单类型的concept
进行限制的情况,标记之。