c++ 到底是什么呢。需要学的太多了!

        

        如谷歌,苹果,微软,造硬件的更是如此,如amd的,英传达,英特尔,他们都有C++加速库。

        C++难就难在你如果达到顶峰,像些公司一样,是非常难的。因为这些公司已经垄断了市场。

        C++编译后你看不到源代码,只能看到反汇编的汇编代码,这个隐藏了源代码,可以起到软件保密作用,如我不给你源码,你想增长大的功能几乎不可能了(只能玩破解这种极小的增加),控制了源代码就垄断了一切。

        后面升级,打补丁,都要听他们的,这样控制了整个生命线。像微软为什么这么多年一直保持这么高的市值,一方面软件是编译过的,你没有办法知道源码,另一方面使用盗版搞倾销,导致本国的本土公司的软件发展不起来,这样光是卖大客户就够赚钱了,如只需要雇一批律师,没事时给上市公司寄律师函(没有购买的),这样就钱就滚滚来了。而对个人盗版可以视而不见,甚至放任自由,这样在盗版打压下就没有了竞争对手。

        美国这些巨头公司使用C++建立了整个IT业基础设施的垄断,如你学人工智能框架tensorflow,pytorch底层都是C++,学数据库底层也是C++,学机器学习库底层也是C++,学开发gui底层也是C++,学虚拟机底层也是C++,学驱动开发底层也是C++,学游戏引擎底层也是C++,而你想用C++开发出这些基础框架会非常难。如中国的wps使用C++开发的,就是经历了几十年才发展起来,中间差点被盗版整死了,后来发展云计算才发展起来。

        你认为C++不重要,那是因为美国巨头公司使用C++建立了整个IT业基础设施的垄断平台,你只能用,如果你想逃脱重新开发,这个成本极高,因为C++是慢工出细活的语言,光是一个内存管理很多人都玩不转,经常在365天*24小时的服务器上出现内存泄露,需要经常重新启动服务器。

        想要打造IT业的基础设施平台c++是绕不过去的,否则你只能做一些应用程序,如团购买菜这种,这种竞争激烈也没有什么利润要烧钱,而且别人很容易复制你的模式,没有技术门槛。

C++难就难在你想建立世界顶级水平和美国巨头竞争的软件就很难,因为会是一个巨大的工程量,而且研发时间和周期都无法保障,只能慢工出细活,一步步走,所以很艰难,如果运营不好,也不会很理想,主要是美国对软件基础设施垄断太厉害了。

        不过未来随着中国国产化替代的需求出现,未来估计会有很多公司会加强基础设施研究,对C++人才的需求会进一步提高,而传统业务语言如Java可能因为互联网流量红利增长出现瓶颈会衰退,对系统级的C/C++人才的需求增长也是产业不断升级的表现。

        C++难相信很多初学者,甚至老手也有同样的感慨!

    1、语法细节琐碎且复杂,特性多,奇技淫巧比较多,用好比较难,C++大佬就是用这种魔幻的特性写出代码实现魔幻的功能,还在不断增加中

    2、多种编程范式、设计模式也复杂。面向对象、面向过程、模板元编程、泛型编程、函数式编程......

    3、开发环境多样复杂,工程调试引入第三方库,一不小心报错就1000+,哈哈哈

    ......

        送给C++学习者的一句话:

        当你凝视深渊时,深渊也在凝视你!战术上藐视,战略上重视!

        当你学习一年c++后,不论你c++学会没有,你再学其他语言就感觉容易很多!

        C语言->C with class -> C++; 由C++的演变可以看出来,C++ 刚开始就是带类的 C 语言,C 语言和 C++ 的关系到底是什么呢?看过《Effective C++》这本书就知道,现如今我们提到 C++,都应该视其为一个庞大的「语言联邦」,最起码包含如下几个重要的组成部分:

    ● 面向过程编程

    ● 面向对象编程

    ● 泛型编程

    ● 元编程

    ● 函数式编程

    ● STL标准库

其中「面向过程编程」,正是 C++ 提供的向后兼容 C语言的部分。

C++演化(C++ 98 ->C++ 03 -> C++ 11 -> C++ 14 -> C++20 -> ..... )

C++ 相关书籍

书籍推荐:

        《C++ Primer中文版》本书面向 C++ 语言的初学者,是一本很友好的自学教材。作者把 C 语言的基础概念和需要注意的编程细节说得很清楚,并且例程和习题丰富,相信认真读过之后,可以完成 C 语言入门这个目标。

        《高质量程序设计指南》,墙裂推荐,这本书看得比较过瘾,书里面有一些编程规范的东西,对于写程序的人来说,还是不错的,可以培养好的编码习惯,加深了一些知识的巩固。比较实用,也适合面试前看看。

        《Essential C++中文版》是一本内容不多但很实用的 C++ 入门书籍,强调快速上手与理解 C++ 编程。本书主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。你不只学到 C++ 的函数和结构,也会学习到它们的设计目的和基本原理。

        《More Effective C++(中文版)》,该书围绕55条准则,每一条都介绍了一个可让你写出更好的C++程序代码的方法,并以特别设计过的例子详加讨论。

        《提高C++性能的编程技术》,本书认为 20% 的性能缺陷将会占用我们 80% 的时间。因此我们把精力集中在最有价值的地方。本书详细讨论了临时对象、内存管理、继承、虚函数、内联、引用计数以及 STL 等一切有可能提升 C++ 效率的细节内容。无论你是相关领域的从业人员,还是 C++ 程序设计爱好者,或者是渴望突破编程瓶颈、大幅提升自我修为的程序设计爱好者,本书都必将使你获益良多。

        《从缺陷中学习C/C++》从本质上来说,这就是一个 C/C++ 的错题集。全书中包括 63 个问题引发的错误,即书名中的缺陷。也是避坑指南。

        《C++ Templates中文版》,深入了解现代 c++ 模板的实用书籍。本书不仅是对 C++ 模板的权威解释,而且本书还深入地介绍了其他一般的 C++ 思想。

        《STL源码剖析》详细地了解 STL 的底层实现机制,同时也可以对常用数据结构,C++ 内存管理拥有更深的理解。

        《C++标准库(第2版)》、《C++并发编程实战》、《C++编程思想(两卷合订本)》等,介绍的这些书我都买了,不过说实话,后面的几本都是泛泛的看了下,当作工具书。

另外,我这里准备了很多编程资料可供小伙伴学习参考,获取请访问主页简介下载~

涉及:C语言、C++、Windows编程、网络编程、QT界面开发、Linux编程、游戏编程、MySQL数据库、OpenCV图像处理等等......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/403068.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android 圆环带刻度条进度动画效果实现

效果图 需求是根据传感器做一个重力球效果,先实现了动画后续加上跟传感器联动. 又是摆烂的一天, 尚能呼吸,未来可期啊 View源码 package com.android.circlescalebar.view;import android.content.Context; import android.content.res.Typ…

LabVIEW高效核磁测井仪器多线程优化

LabVIEW高效核磁测井仪器多线程优化 为提高核磁测井仪器的测试效率与性能,开发了基于LabVIEW的多线程优化模型。该研究针对传统的核磁测井仪器软件,在多任务调度测试和并行技术需求上存在的效率不高和资源利用率低的问题,提出了一个多线程优…

智慧公厕管理系统:让城市智慧驿站更加智慧舒适

智慧公厕管理系统是城市智慧驿站中不可或缺的一部分,它通过全方位的信息化解决方案,为公共厕所的使用、运营和管理提供了一种智能化的方式。作为城市智慧驿站的重要组成部分,智慧公厕管理系统发挥着重要的作用,为城市社会民生提供…

数字化转型导师坚鹏:数字政府技术、业务、数据融合发展路径探索

数字政府建设与发展研究 ——技术、业务、数据融合发展路径探索 课程背景: 很多政府存在以下问题: 不清楚数字政府建设内涵 不清楚数字政府建设现状 不清楚数字政府融合路径 课程特色: 有实战案例 有原创观点 有精彩解读 学…

基于Android的大学生足球赛事管理系统的设计与实现

足球是世界范围内广受欢迎的一种体育运动,国内有中超、中甲及大学生联赛等各级别的赛事,中超和中甲基本上都有专业的球队在运营,而大学生联赛属于校园级别的赛事,其重视程度较为有限,使得其信息化水平不高,…

【2024软件测试面试必会技能】python(5):python读取excel数据

python读取excel数据 xlrd参考:https://www.cnblogs.com/dream66/p/12572007.html openpyxl参考:https://www.cnblogs.com/dream66/p/12599627.html xlrd/xlwt模块简介: python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读…

《最新出炉》系列初窥篇-Python+Playwright自动化测试-20-处理鼠标拖拽-下篇

1.简介 上一篇中,宏哥说的宏哥在最后提到网站的反爬虫机制,那么宏哥在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,宏哥就想验证一下自己想法,其次有人私信宏哥说是有那种…

嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第八天-高级驱动framebuffer(物联技术666)

链接:https://pan.baidu.com/s/1cd7LOSAvmPgVRPAyuMX7Fg?pwd1688 提取码:1688 帧缓冲(framebuffer)设备应用于linux显示技术方面。因为linux的显示平台已经全部基于framebuffer,所以目前在linux环境下开发图形化界面、…

了解JSON的作用及其方法

什么是json JSON(JavaScript Object Notation)是一种轻量级的数据交换格式采用完全独立编程语言的文本格式存储和表示数据(就是字符串)。它基于JavaScript语法,但可以被多种编程语言使用和解析。JSON以键值对的形式存…

Stable Diffusion 绘画入门教程(webui)-ControlNet(深度Depth)

上篇文章介绍了线稿约束,这篇文章介绍下深度Depth 文章目录 一、选大模型二、写提示词三、基础参数设置四、启用ControlNet 顾名思义,就是把原图预处理为深度图,而深度图可以区分出图像中各元素的远近关系,那么啥事深度图&#xf…

鸿蒙开源!OpenHarmony——手机的CPU信息应用

1.应用安装步骤 应用下载地址与源码开源如下: CPU_device_information 2.实现功能 完成了开发者手机以下信息的获取 - CPU核心数 - SOC型号 - GPU温度 - 主板温度 - 系统运行时间 - RAM总内存 - RAM可用内存 - RAM空闲内存 - 缓存使用内存 - Swaps交换分区 - 系…

JavaScript在web自动化测试中的应用

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

契约锁与400多家软件厂商实现集成应用

契约锁电子签及印控产品具备200多种功能接口,拥有400多家管理软件厂商集成对接经验,覆盖ERP、OA、业务系统、移动APP应用、低代码平台、BPM、小程序等42种软件类型,在帮助组织落实印章管理制度的同时,按需构建业务电子签场景&…

【计算机网络】一些乱七八糟内容

MAC Media Access Control 用于在局域网(LAN)或广域网(WAN)中实现设备自动接入网络 "载波侦听多路访问"(Carrier Sense Multiple Access) CSMA/CD 是CSMA的升级版本,加入了序列号检测机制。 CSMA/CA 是CSM…

旅游分享系列之:福建旅游攻略

旅游分享系列之:福建旅游攻略 一、漳州1.福建土楼2.云水谣3.四菜一汤景点 二、厦门1.园林博览苑2.海上自行车道3.山海步道4.海滩5.闽南菜6.落日 三、泉州1.衙口沙滩2.海上日出3.珞珈寺4.海滩烟花 一、漳州 游玩2个景点:云水谣,四菜一汤可以住…

图形系统开发实战课程:进阶篇(上)——6.图形交互操作:拾取

图形开发学院|GraphAnyWhere 课程名称:图形系统开发实战课程:进阶篇(上)课程章节:“图形交互操作:拾取”原文地址:https://www.graphanywhere.com/graph/advanced/2-6.html 第六章 图形交互操作:拾取 \quad 在图形系统…

Avalonia 初学笔记(2):简单了解与WPF的区别

文章目录 相关链接前言Avalonia相对于WPF的新特性简单介绍ChatGPT推荐Avalonia Demo案例Avalonia 开始使用Avalonia 文件扩展名Avalonia Toolkit 扩展安装修改.net core版本Avalonia对WPF的修改类CSS选择器Style的定义简单代码 数据绑定直接绑定UserControl.DataContext和Desig…

128.乐理基础-五线谱-纯四度、纯五度

内容参考于:三分钟音乐社 上一个内容:127.乐理基础-五线谱-纯一度、纯八度-CSDN博客 上一个内容里练习的答案: 纯四度、纯五度的结论 纯四度例子: 例子1: 例子2: 纯四度两个条件,音数是2.5&a…

HTML好玩代码合集(2)

这一期HTML好玩代码合集是动态烟花文字,是本期里最好玩的一个HTML代码(把文字可以改成表白的),先看效果: 这个效果是动态的,那些数字都是有烟花堆积成的,代码在哪里呢? 在这里&…

SpringBoot---集成MybatisPlus

介绍 使用SpringBoot集成MybatisPlus框架。 第一步&#xff1a;添加MybatisPlus依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.4</version> </dependenc…