CppCoreGuidelines T.12 最好用 concept,不要用 auto 或局部变量
31 August 2023
“Prefer concept names over auto
for local variables”
理由
auto
是最弱的 concept
。 concept
比 auto
传递的信息更多。
例子
vector<string> v{ "abc", "xyz" }; auto& x = v.front(); // bad String auto& s = v.front(); // good (String is a GSL concept)
这里 String
是 GSL 中定义的 concept
。当 String
和 auto
一起用的时候,这个 String
就被当作 concept
使用了。这里,其实 String
这个 concept
是用来约束 auto
的,不然, auto
就太自由了。