0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从入门到实战,教你如何学习C++

C语言编程学习基地 来源:C语言编程学习基地 作者:C语言编程学习基地 2022-09-07 15:50 次阅读

C++是一种通用的、面向对象的编程语言,可用于开发操作系统、游戏、图形用户界面、后端以及高性能系统和应用程序。

所以,尽管Python、Go这些后起之秀近几年热度非常高,但是在很多领域还是无法撼动C++的地位。

今天,就从浅到深,从入门到实战,教你如何学习C++。

篇幅较长,先给出本文的目录:

C++简介

什么是C++?

为什么学C++?

C++的历史

C和C++的区别

编译型语言和解释型语言

从入门到实战

开发环境

C++入门

C++练习

C++实战

C++进阶

学习资源

书籍

视频课程

开源项目

下面,就正式开始本文的正式内容吧!因为时间问题,整个大纲暂时只写完了一半,所以今天只分享到开发环境为止,其他内容我们明天再给大家分享吧!

C++简介

什么是C++?

现如今,流行的编程语言非常多,Python、Go、Java、PHP、JavaScript等等,它们各有自己擅长的领域和方向。

而C++则在系统资源和内存控制更胜一筹,因此,在操作系统、图形图像、游戏、嵌入式这些对性能要求较高的领域,C++一直都具有不可替代的地位。

它可以用来开发在多个平台上运行的应用程序,如服务器、个人电脑、基于云的系统和移动设备。

为什么学C++?

如果你对计算机游戏、高端计算项目的软件工程、加密货币挖矿程序和开发移动设备的操作系统等领域感兴趣,学习C++则是必不可少的。

此外,相对于Go、Python这些更加高阶的编程语言,会涵盖更加全面的编程知识,也有助于学习者理解变量、函数、面向对象、指针、内存...这些在很多高阶语言中容易被忽略的概念和知识。

C++的历史

C++是由丹麦计算机科学家Bjarne Stroustrup(比雅尼·斯特劳斯特鲁普)创造、设计和开发的。

斯特鲁斯特鲁普想制造一种类似于C语言的灵活和动态的语言,但是,需要拥有更多的功能。

它最初被称为 "C with classes",在1983年被重新命名为C++,意思是 比C高一等。

国际标准化组织的C++联合技术委员会在1998年至2017年间对C++进行了五次升级。

一个新的版本,C++20,计划也在计划中将要发布。

C和C++的区别

C和C++有哪些区别?

这是在学习C或者C++时无法绕开的一个问题。

Jon Kalb(软件工程讲师、C++ Now和CppCon的主席)说,C++是C的进化。

虽然它们有一些相似之处,但现在两者有很大的不同。

虽然C语言被广泛使用,但Kalb说它并不像C++那样支持抽象、通用编程和面向对象编程。

在大型项目中,往往需要非常高层次的抽象,在这方面C++要远胜于C语言。

抽象层指的是观察或编程一个系统的复杂程度。低层次的抽象有更多的细节,而高层次的抽象可以包括整个系统。

C语言是一种程序性语言,它的代码由指令组成,直接告诉计算机或其组件按逻辑步骤完成一项任务。

C++也可以做到这一点,而且,在此基础上它支持高级功能,如类和面向对象,它允许程序员创建包含数据和功能的 "对象"。这种方法的优点是,软件对象比程序性指令执行得更快,更容易执行,而且面向对象的编程使代码更容易修改、维护和调试。

1a9d8296-2e80-11ed-ba43-dac502259ad0.png

编译型语言和解释型语言

提起编程语言,就必须先要理解语言所属类型 。

编程语言可以分为编译型语言和解释型语言,下面分别解释一下。

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。比较有代表性的有C、C++等。

解释型语言:相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,程序在运行时才翻译成机器语言,每执行一次都要翻译一次,因此效率比较低。比较有代表性的包括Java、Python、JavaScript等。

1acb651c-2e80-11ed-ba43-dac502259ad0.png

从入门到实战

因为C++很受欢迎,所以有很多资源可供初学者使用,包括在线教程、网站和书籍。

当决定学习C++或任何其他计算机语言时,你首先要清楚将它用于什么方向、什么岗位。

如果你从事机器学习深度学习、数据分析这些偏重于算法和分析、对性能不敏感的岗位,你完全可以选择R或者Python这些语言替代。

但是,如果你从事游戏、系统等对性能有严格要求的岗位,C++则是首要的选择。

那么,你已经准备好进入到C++的学习了吗?明天的话,我们再正式分享其他知识!

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33109
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72900
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83467

原文标题:【如何系统地学习 C++ 语言】关于C++,有哪些你需要提前知道的知识?

文章出处:【微信号:cyuyanxuexi,微信公众号:C语言编程学习基地】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    C/C++代码动态测试工具VectorCAST插桩功能演示#代码动态测试 #C++

    C++代码
    北汇信息POLELINK
    发布于 :2024年04月18日 11:57:45

    ARM嵌入式Linux 系统开发入门精通

    ARM嵌入式Linux 系统开发入门精通
    发表于 03-10 18:44

    盘点那些硬件+项目学习套件:STM32U5单片机开发板及入门常见问题解答

    第一阶段:STM32入门及项目实战: STM32U5开发板入门学习资料已全部更新上线,涉及基础入门+项目
    发表于 02-19 16:59

    盘点那些硬件+项目学习套件:STM32MP157 Linux开发板及入门常见问题解答

    免费领取。 ▋常见问题 1.开发板适合0基础用户学吗? 答:适合的。这个板子配套的基础入门学习资料是非常丰富的,C语言Linux基础、数
    发表于 02-01 14:25

    求助,如何将C++代码GNU移植Tasking编译器?

    使用了使用任务编译器的 Aurix Development Studio IDE。 在将代码 GNU 编译器移植 TASKING 编译器的过程中,标准定义库存在多个问题(编译错误)。 您是否已经拥有
    发表于 01-31 07:29

    javaweb从入门实战

    JavaWeb是一门使用Java语言开发Web应用程序的技术,它广泛应用于各种网站和在线应用程序的开发。对于想要学习和使用JavaWeb技术的开发者来说,从入门实战这条路并不是很容易,需要有系统性
    的头像 发表于 12-03 11:44 895次阅读

    C/C++语言学习大全套

    电子发烧友网站提供《C/C++语言学习大全套.rar》资料免费下载
    发表于 11-18 14:33 0次下载
    C/<b class='flag-5'>C++</b>语言<b class='flag-5'>学习</b>大全套

    LabVIEW入门实战开发100例

    LabVIEW入门实战开发100例,实用例子
    发表于 10-26 15:25 25次下载

    迅为RK3568开发板QT学习手册

    iTOP -RK3568开发板使用教程上新,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。 基于RK3568的QT教程他来了~C++基础QT编程实例再到项目
    发表于 10-25 10:29

    如何为Arm编译Cc++代码

    编译器的最新、最高效的Arm C/C++编译工具链。Arm编译器6最大限度地发挥了Arm Cortex和Neoverse处理器和架构的潜力,Armv6-MArmv8-A 64位Ar
    发表于 08-02 17:28

    《Proteus实战攻略从简单电路到单片机电路的仿真》一本适合单片机入门实战

    本书内容 本书从实战出发,所有章节都是以一个实例展开,这种方式适合工具类书籍的编写,非常不错,对于初学者来说,入门实战是最好的形式。 先介绍了数电模电基础电路的仿真实例,都比较直观,还有一些视频演示
    的头像 发表于 07-28 09:14 2056次阅读
    《Proteus<b class='flag-5'>实战</b>攻略从简单电路到单片机电路的仿真》一本适合单片机<b class='flag-5'>入门</b>的<b class='flag-5'>实战</b>书

    c++入门后如何进阶

    C++11 是下一个 C++ 标准,但我们通常称之为现代 C++。现代 C++ 也包括了 C++14 和 C++17。C++11 拥有许多特性,这些特性从根本上改变了我们编写 C++
    发表于 07-21 08:56 174次阅读
    <b class='flag-5'>c++</b><b class='flag-5'>入门</b>后如何进阶

    一起探索C++的世界!

    C++
    YS YYDS
    发布于 :2023年07月07日 19:10:25

    如何Linux C++ User App运行此类应用程序?

    和 CS42888 编解码器。我想使用 CS42888。什么是正确的方法来做到这一点?如何 Linux C++ User App 运行此类应用程序?也许应该使用 GStreamer 或 ALSA 库?
    发表于 05-18 10:17

    C++入门之通用算法

    C++ 是一种强大的编程语言,它提供了许多通用算法,可以用于各种容器类型。这些算法是通过迭代器来操作容器中的元素,因此它们是通用的,可以用于不同类型的容器。在本篇博客中,我们将详细介绍 C++ 的通用算法。
    的头像 发表于 05-17 09:40 417次阅读