- 概述 -《业界C++进阶建议整理》

news/2024/9/17 5:00:23

        本文章属于专栏《业界Cpp进阶建议整理》


         “如果我看得更远,那是因为我站在巨人的肩膀上。”

                                        -牛顿

        本系列,主要结合个人经验,对《Effective C++》、《More Effective C++》、《Effective Modern C++》,给出的我个人理解的精简版本。通过结合个人经验,精简书籍内容,把书“读薄”,可以帮助记住关键的知识点。在之后需要复习时,能快速回忆起关键内容。最重要的是,在实际工程做决策时,可以更快地抓住重点,做出大概率正确的取舍。

        正如在我的《构建工业级QPS百万级服务》系列简介中说的一样,我会把更多的精力放在那些使用频率高的场景中。而Cpp规则本身是复杂的,像《effective cpp》所说,其是由4个部分组成,分别是【c】、【c with class】、【template c++】&& 【STL】。由于作者的使用Cpp的场景大部分是高性能服务或离线计算,少部分是中间件或基础三方库的改造,所以我在【c with class】和【STL】会更有经验,对于【template c++】部分,我熟悉如何通过template减少代码量,但是对于模板元编程,虽然其可在编译期间完成部分计算,但是可读性差,维护成本偏高,不适合改动频繁,维护人员水平层次不齐的业务场景,所以并未花很大精力学习和实践。

         最后,本系列的文章,是我在工作之余,从个人历史的笔记、总结、分享中提炼出来。如有错误,还望指正。


http://lihuaxi.xjx100.cn/news/2039366.html

相关文章

MySQL高级特性篇(7)-数据库版本控制与迁移

MySQL数据库版本控制与迁移 在软件开发的过程中,数据库版本控制和迁移是非常重要的一部分。这些过程确保了数据库的结构及数据的追踪和更新。在本篇博客中,我们将介绍如何使用Markdown语法来编写MySQL数据库版本控制与迁移的相关内容。 1. 什么是MySQL…

观察者模式和发布订阅模式的区别

从下图中可以看出,观察者模式中观察者和目标直接进行交互,而发布订阅模式中统一由调度中心进行处理,订阅者和发布者互不干扰。这样一方面实现了解耦,还有就是可以实现更细粒度的一些控制。比如发布者发布了很多消息,但…

LeetCode 算法题 (数组)存在连续3个奇数的数组

问题: 输入一个数组,并输入长度,判断数组中是否存在连续3个元素都是奇数的情况,如果存在返回存在连续3个元素都是奇数的情况,不存在返回不存在连续3个元素都是奇数的情况 例一: 输入:a[1,2,3…

基于深度学习的红肉新鲜过期判决系统matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 系统构成与流程 4.2 模型训练与优化 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ...............................................…

代码随想录算法训练营Day37 | 738.单调递增的数字、968.监控二叉树

738.单调递增的数字 本题的思路挺简单的: 不符合单调递增,或数字为0时,当前位置的数字进行退位(因为0前面至少有一个大于0的数字,所以0必定需要退位) 退位:当前位置变为9,下一个位…

海外盲盒系统开发,开启盲盒出海赛道

近几年,盲盒经济持续升温,其独特的优势特点给消费者带来了全新的消费体验,在潮流市场中掀起了热潮。如今,盲盒在我国已经形成了一个较为完善的产业链。 随着盲盒的快速发展,在海外也是备受关注。在海外市场上&#xf…

Java实战:Spring MVC请求转发与重定向的实现及区别

本文将详细介绍如何在Spring MVC中实现请求转发和重定向,并探讨二者的区别。我们将通过具体示例来演示如何在Spring MVC应用程序中使用这两种技术。本文适合已经具备Spring MVC基础知识的开发者阅读,以加深对Spring MVC中请求处理机制的理解。 一、引言…

阅读笔记(Multimedia Systems2020)Review on image-stitching techniques

Wang Z, Yang Z. Review on image-stitching techniques[J]. Multimedia Systems, 2020, 26: 413-430. DOI https://doi.org/10.1007/s00530-020-00651-y