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

news2024/11/16 12:33:33

        

        如谷歌,苹果,微软,造硬件的更是如此,如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图像处理等等......

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux离线安装插件

当公司Linux环境无外网情况下,需要先下载好离线安装包,然后上传到服务器,进行安装。 这里介绍一个下载插件安装包的网站,可以搜索到lrzsz、lsof、telnet、unzip、zip等安装包 搜索到想要的插件安装包后,下载并上传到服…

关于xinput1_3.dll丢失怎么修复,xinput1_3.dll缺失如何解决的方法

xinput1_3.dll 是一个与 Microsoft DirectX 相关的动态链接库(DLL)文件,它是 Windows 操作系统中用于处理输入设备功能的重要组件。以下是对 xinput1_3.dll 文件的详细属性和作用进行介绍: 一、xinput1_3.dll基本属性 文件名&am…

适用于 Linux、Windows 和 macOS 的免费 ONLYOFFICE 桌面应用程序

前言: 最近也是发现了一款特别好用的免费ONLYOFFICE 桌面应用程序忍不住分享给大家,这款编辑器能够打开、阅读和编辑多种文件类型,包括.docx文档、.pptx幻灯片和.xlsx表格等开放XML格式的Office文档。此外,ONLYOFFICE桌面编辑器还…

Linux常见的指令

目录 01. ls 指令02. pwd命令03. cd 指令04. touch指令05.mkdir指令(重要):06.rmdir指令 && rm 指令(重要):07.man指令(重要):08.cp指令(重要&#x…

《探索网校 App 的魅力世界:知识与科技的完美结合》

在数字化时代,教育也在经历着深刻的变革。网校 App 的出现,正为学习者们开启了一扇通往知识的新大门,它融合了科技的力量,让学习变得更加便捷、高效和有趣。 一、功能与优势 网校 App 提供了丰富多样的学习功能,满足了…

盲盒小程序开发,线上盲盒应该具备哪些功能?

盲盒在我国是一个热门行业,它的种类繁多,玩法新奇有趣,吸引了无数年轻人的眼光,发展更是经久不衰! 随着科学技术的不断发展,盲盒行业也在继续保持上升趋势,为我国消费者带来了更多的新体验&…

Commonjs 和 Es Module详解

一 前言 今天我们来深度分析一下 Commonjs 和 Es Module,希望通过本文的学习,能够让大家彻底明白 Commonjs 和 Es Module 原理,能够一次性搞定面试中遇到的大部分有关 Commonjs 和 Es Module 的问题。 带上疑问开始今天的分析: …

leetcode hot 100最后一块石头重量Ⅱ

在本题中,我们可以知道,是要求最后石头返还的重量,也就是,将整个数组分割成两个子集,求让两个子集的差值最小。这和上一道分割整数集类似,只是需要我们返回差值。所以我们采用动态规划01背包来做&#xff0…

零基础,两个月,如何蓝桥杯备战?

本文约4000字,阅读时长8~12分钟。 首先说明,目前0算法基础,想在两个月后的蓝桥杯拿奖,有一定难度,但也不是完全没可能。在这么短的时间内选择正确的方法,做高性价比的事就尤为重要。 我是蓝桥云课省赛无忧…

【咕咕送书 | 第七期】世界顶级名校计算机专业,都在用哪些书当教材?

🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 写在前面参与规则 ✅参与方式:关注博主、点赞、收藏、评论,任意评论(每人最多评论…

Docker基础篇(二)

docker run -d docker run -d 容器名或容器ID docker run -d 后台生成容器,并退出容器(除容器中在运行脚本) docker run -it 交互生成容器 docker run -d centos /bin/sh -c “while true; do echo zen; sleep 2;done” 查看容器中的进程…

2.5《Python3 网络爬虫开发实战》学习之实例实战1

目录 1 实战内容 2 确定思路 3 代码实操 3.1 实现一个个网页的爬取 3.2 爬取每一个网页的电影详情页url ​编辑 3.3 连接链接,针对每个详情页链接进行爬取、汇总内容 3.4 存储在txt文件中 4 结尾:整体代码 1 实战内容 爬取Scrape | Movie中所有…

Vi/Vim 使用小窍门,如何消除搜索后的关键字高亮

Vim/Vi 基本上是 *nix 世界最受欢迎的编辑器了,不知道为什么,一直以来觉得和 Emacs 比起来,Vim 更加有亲和力。用起来很舒服。 今天就记录一个困扰了我很久的问题。 大家应该都知道,在 Vi 里面如果要搜索某个关键字,…

观察者模式, 发布-订阅模式, 监听器模式

观察者模式, 发布-订阅模式, 监听器模式 观察者模式 观察者模式是一种行为型设计模式, 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新 角色模型和结构图 在观察者模式中,只有两种…

详解Monkey自动化测试(日志分析)

讲解如何利用monkey分析ANR、CRASH、以及monkey运行期间的系统日志。 1.log文件配置 首先对于report的日志命名需要有相应的规范,这里建议是将level 1的文件命名为verbose,将level 2的文件命名为error。前者主要是用来观看日志信息和事件分布信息,后者…

雷卯有多种400V以上的TVS产品供您选择

1.400V以上的TVS主要应用领域 1)电力系统保护:在电力系统中,电压突然升高或突然降低可能会导致电气设备受损或故障。400V以上的TVS可用于保护变压器、发电机和其他电力设备免受过电压或电涌的影响。 2)工业自动化:在…

el-table增加/编辑打开el-dialog内嵌套el-form,解决编辑重置表单不成功等问题

需求:在做表格的增删改查,其中新增和编辑弹窗都是同一个弹窗,之后有个重置按钮,需要用户输入的时候可以重置清空等。本文章解决如下问题 1.就是在编辑数据回填后点击重置表单没有清空也没有报错 2.解决清空表单和表格数据相互影响…

YOLO v9 思路复现 + 全流程优化

YOLO v9 思路复现 全流程优化 提出背景:深层网络的 信息丢失、梯度流偏差YOLO v9 设计逻辑可编程梯度信息(PGI):使用PGI改善训练过程广义高效层聚合网络(GELAN):使用GELAN改进架构 对比其他解法…

01 Linux简介

Linux背景 发展史 linux从哪来的?怎么发展的?得从UNIX说起 1968年,一些来自通用电气公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念1969-1970年&am…

【Redis】深入理解 Redis 常用数据类型源码及底层实现(4.详解Hash数据结构)

Hash数据结构 看过前面的介绍,大家应该知道 Redis 的 Hash 结构的底层实现在 6 和 7 是不同的,Redis 6 是 ziplist 和 hashtable,Redis 7 是 listpack 和 hashtable。 我们先使用config get hash*看下 Redis 6 和 Redis 7 的 Hash 结构配置情况(在Redis客户端的命令行界面…