专栏首页C++核心准则原文翻译C++核心准则T.12:声明局部变量类型时,概念比auto更好

C++核心准则T.12:声明局部变量类型时,概念比auto更好

T.12: Prefer concept names over auto for local variables

T.12:声明局部变量类型时,概念比auto更好

Reason(原因)

auto is the weakest concept. Concept names convey more meaning than just auto.

auto是最弱的概念。相比只用auto,概念名可以传递更多信息。

Example (using TS concepts)

示例(使用TS概念)

vector<string> v{ "abc", "xyz" };
auto& x = v.front();     // bad
String& s = v.front();   // good (String is a GSL concept)
Enforcement(实施建议)
  • ???

原文链接

https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#t11-whenever-possible-use-standard-concepts

本文分享自微信公众号 - 面向对象思考(OOThinkingDalian),作者:面向对象思考

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++核心准则ES.11:使用auto避免多余的类型名重复

    In each case, we save writing a longish, hard-to-remember type that the compiler...

    面向对象思考
  • C++核心准则ES.34:不要定义C风格的可变参数函数

    Not type safe. Requires messy cast-and-macro-laden code to get working right.

    面向对象思考
  • C++核心准则C.170: 如果感觉需要重载lambda表达式,使用泛型lambda表达式​

    You cannot overload by defining two different lambdas with the same name.

    面向对象思考
  • C++ auto 关键字的使用

    早在C++98标准中就存在了auto关键字,那时的auto用于声明变量为自动变量,自动变量意为拥有自动的生命期,这是多余的,因为就算不使用auto声明,变量依旧...

    于小勇
  • c++基础 使用智能指针

    三个智能指针模板(auto_ptr、unique_ptr和shard_ptr)都定义了类似指针的对象(c++11已将auto_ptr摒弃),可以将new获得(直...

    lpxxn
  • Cocos2d-x初学者教程

    本文翻译自 https://www.raywenderlich.com/网站上Guanghui Qu写的2015年4月30号的一篇博文 Cocos2d-...

    ccf19881030
  • Effective Modern C++翻译(3)-条款2:明白auto类型推导

    条款2 明白auto类型推导 如果你已经读完了条款1中有关模板类型推导的内容,那么你几乎已经知道了所有关于auto类型推导的事情,因为除了一个古怪的例外,aut...

    magicsoar
  • Github 项目 - OpenPose 关键点输出格式

    [4] - Rendering Face and Hands Without Pose:

    AIHGF
  • 一个没有 App 的未来 | 观点

    知晓君
  • 纸上谈兵: 堆 (heap)

    堆(heap)又被为优先队列(priority queue)。尽管名为优先队列,但堆并不是队列。回忆一下,在队列中,我们可以进行的限定操作是dequeue和en...

    Vamei

扫码关注云+社区

领取腾讯云代金券