万物流动 万物永驻 ——C++ Core Guidelines的流动哲学

这篇具有很好参考价值的文章主要介绍了万物流动 万物永驻 ——C++ Core Guidelines的流动哲学。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

众所周知,C++ 是一门自由的语言,语言的设计哲学之一就是赋予程序员极大的自由度和灵活性,因此,使用C++ 完成一个任务时,不同的程序员往往会有不同的实现方法,这真正阐释了什么叫条条大路通罗马。不过,这种自由和灵活的代价就是语言复杂度的提升,学习曲线也必然不会平滑。此外,C++ 语言特性也十分丰富,尤其从 C++11标准开始,新的特性层出不穷,以至于曾有书友用 《三国演义》中评价 “八阵图”的一句话米评价现代 C++:“变化无穷,不能学也。”当然,这句话至少有些调倪和令张的成分,但也说明了 C4+的自由和灵活性多多少少地给学习者和从业者带水了一些困扰。

从软件工程的角度出发,程序员也大都希望 C++ 在保持自由的同时能够有一些规则和惯用法,于是 C++ Core Guidelines 应运而生。C++Core Guidelines 非常全面地介绍了语言各个重要环节的规则和惯用法,如函数、类、错误处理、性能优化等。例如,我们常说尽量使用智能指针代替裸指针,从而避免内存的泄漏,但是这又造成另外一个问题——智能指针的过度使用。C++ Core Guidelines中有这么一条建议一—“对于一般用途,采用T* 或T& 参数而不是智能指针”,因为智能指针关注所有权和生命周期,在不操作生命周期的函数中应该使用原始指针或引用。


 除了规则和惯用法,C++ Core Guidelines 还会解释一些容易引起争论的话题。比如错误处理中的异常,Guidelines 中非常客观地描述了异常的应用场景,例如只有在能精确预测从 throw 恢复的最长时间时,异常才适用于硬实时系统。此外,Guidelines 客观地提出,如果负担不起或者不喜欢基于异常的错误处理方式,那么也可以采取其他方案,但必须做充分的测试和测量,因为无论哪种错误处理方式都有其不同的复杂性和问题。
 

万物流动 万物永驻 ——C++ Core Guidelines的流动哲学,c++,开发语言

由资深技术专家Rainer Grimm撰著的《C++ Core Guidelines解析》,从内容上说,选取了现代C++语言最核心的相关规则;从篇幅上说,对软件工程师非常友好。以“八二原则”看,这个精编解析版是一-个非常聪明的选择。同时,Rainer Grimm并没有简单照搬开源文档中的规则,而是结合自己丰富的咨询和培训经验,给出了非常翔实的解析,这自然为本书增色不少。最后,此书中文译本的质量让我非常放心。翻译团队非常强大,领衔的吴咏炜在C++领域的功力自不必说,而且他在技术文本上字斟句酌的认真劲可是出了名的,杨文波、张云潮和何荣华在C++领域也都非常资深。非常开心C++中文社区的好书越来越多,我相信《(C++ Core Guidelines解析》会给各位C++工程师以及企业C++研发团队带来长久的价值。

在《C++ Core Guidelines 解析》中,C++ 专家讲师 Rainer Grimm提炼出了Core Guidelines中的精髓,去除了晦涩难懂的内容,分享了新的见解和背景,并提供了自己培训课程中经过充分测试的示例。


对于使用 C++11 及后续版本 C++ 的有经验程序员,Grimm 能为他们提供帮助,使其用好Core Guidelines。他的大部分代码示例是为 C++17 编写的,在合适的地方涵盖了更新版本和 C++20,并提供了对官方 C++ Core Guidelines在线版本的引用。
无论你是创建新软件还是改进旧代码,Grimm 都将帮助你从Core Guidelines里最有用的规则中获取更多价值,使你编写的代码更安全、更清晰、更高效,以及更易于维护。
* 应用Core Guidelines和其中的编程哲学
* 正确使用接口、函数、类、枚举、资源、表达式和语句
* 优化性能,实现并发和并行,处理错误
* 有效地使用常量、不可变性、模板、泛型和元编程
* 改进C++ 代码风格,管理源文件,使用标准库

万物流动 万物永驻 ——C++ Core Guidelines的流动哲学,c++,开发语言

样章试读部分

万物流动 万物永驻 ——C++ Core Guidelines的流动哲学,c++,开发语言

万物流动 万物永驻 ——C++ Core Guidelines的流动哲学,c++,开发语言

 万物流动 万物永驻 ——C++ Core Guidelines的流动哲学,c++,开发语言《C++ Core Guidelines解析》([德]赖纳·格林(Rainer,Grimm),吴咏炜)【摘要 书评 试读】- 京东图书 (jd.com)http://xn--1jqvc62lx0ge1cu6qc1ewzh9syxq1d8ve7w5a文章来源地址https://www.toymoban.com/news/detail-688343.html

到了这里,关于万物流动 万物永驻 ——C++ Core Guidelines的流动哲学的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C++ Core Guidelines解析】C++学习之路的一盏明灯

    前言: C++语言的功能非常丰富,表达能力非常强。 因为一种成功的通用编程语言拥有的功能必须比任何开发人员所需要的更多,任何一种有生命力且不断发展的语言都会不断积累用于表达程序员思想的替代用法。这会导致选择过载。那么,开发人员应该如何根据编程风格和

    2024年02月09日
    浏览(36)
  • 《C++ Core Guidelines解析》:揭示现代C++最佳实践的深层原理

       本书旨在深入解析C++ Core Guidelines,这是C++社区中权威的编程指南。我们将探索其中所包含的现代C++最佳实践,从底层原理和设计理念角度剖析其背后的思想 。通过对Guidelines的逐条解析和实例说明,读者将深入理解如何编写更安全、高效和可维护的C++代码。本文旨在为

    2024年02月09日
    浏览(50)
  • 深入《C++ Core Guidelines解析》:提升C++编程实践的关键指南

    C++因为其学习易学难用,曲线比较大,劝退了不少人(入门即放弃)。从学会使用 C++ 到用好 C++ 需要经过多年持续不断的学习和实践。自 C++11 以来,标准委员会每三年一更新,如今的“modern C++”相较于之前的 C++98 来说变化相当大。C++ 在成长和变化,对于 C++ 程序员来说,确

    2024年02月09日
    浏览(46)
  • 【送书福利-第十九期】《C++ Core Guidelines解析》

    😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公粽号:程序员洲洲。 🎈 本文专栏:本文收录于洲洲的《送书福利》系列专栏,该专栏福利多多

    2024年02月08日
    浏览(44)
  • 更安全、更清晰、更高效——《C++ Core Guidelines解析》

      由资深技术专家Rainer Grimm撰著的《C++ Core Guidelines解析》,从内容上说,选取了现代C++语言最核心的相关规则;从篇幅上说,对软件工程师非常友好。以“八二原则”看,这个精编解析版是一-个非常聪明的选择。同时,Rainer Grimm并没有简单照搬开源文档中的规则,而是结合自

    2024年02月08日
    浏览(45)
  • C++这么难,为什么我们还要用C++?C++ Core Guidelines解析给了我答案

    C++ 是一门强大而复杂的编程语言,它有其独特的应用场景和优势,尽管它可能在学习和使用上有一些挑战,但仍然被广泛采用的原因有很多,尽管 C++ 有其优势,但它也确实有一些复杂性和潜在的陷阱,因此在选择使用它时需要权衡。对于一些应用场景,其他编程语言,如Py

    2024年02月09日
    浏览(47)
  • 自然语言模型的哲学小谈

    近期,以chatGPT为代表的大语言模型表现非常惊艳。“In Context Learning”、“Instruct” 1 ,以及推理能力,很难不让我们期待未来人工智能的发展,同时冷静思考一下为什么自然语言模型能够取得巨大进步。 我们是如何思考的?人类在不张嘴的情况下,会进行哪些活动?或者说

    2024年02月03日
    浏览(34)
  • 人工智能与自然语言处理的哲学思考

    作者:禅与计算机程序设计艺术 《人工智能与自然语言处理的哲学思考》 引言 1.1. 背景介绍 随着信息技术的飞速发展,人工智能作为一项新兴技术,逐渐成为了人们关注的焦点。人工智能的应用涉及到众多领域,其中自然语言处理(NLP)是其中的一个重要分支。自然语言处

    2024年02月07日
    浏览(60)
  • C++学习day--01 C生万物

    1. 大部分初学者,学习 C/C++ 都是从入门到放弃。 C/C++太难吗? 2. 90% 以上的初学者,学完 C/C++ 以后,考试完了,书看完了, 但还是不会做项目 是学的不够好吗? 3. 大部分初级开发人员只懂得 C/C++ 的皮毛。 函数指针的目的是什么? C 语言有哪些指针陷阱? 模板库的选择?

    2024年02月02日
    浏览(26)
  • C++实现经典同步问题(生产者消费者、读者写者、哲学家进餐、吸烟者问题)

    环境:windows 问题描述: 一组生产者进程和一组消费者进程共享一个初始为空、大小为〃的缓冲区,只有缓冲区没满时,生产者才能把消息放入缓冲区,否则必须等待;只有缓冲区不空时,消费者才能从中取出消息,否则必须等待。由于缓冲区是临界资源,它只允许一个生产

    2023年04月23日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包