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++的学习了吗?明天的话,我们再正式分享其他知识!

审核编辑 :李倩

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

    关注

    10

    文章

    1965

    浏览量

    39882
  • C++
    C++
    +关注

    关注

    22

    文章

    2131

    浏览量

    77402
  • python
    +关注

    关注

    58

    文章

    4888

    浏览量

    90320

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析 TPS62351EVM-122 评估模块:入门实战

    深入解析 TPS62351EVM-122 评估模块:入门实战 在电子工程师的日常工作中,评估模块是验证和开发新设计的重要工具。今天,我们就来详细探讨一下德州仪器(Texas
    的头像 发表于 04-25 14:05 576次阅读

    C++ 11 14 17 20内存管理-指针、智能指针和内存池基础与提升

    pan.baidu.com/s/1g64x9D_jp9ufk4uBpQBmvA?pwd=497f  未来 C++ 底层核心:内存管理实战指针内存池全链路进阶 站在2026年的技术
    的头像 发表于 04-20 15:51 538次阅读

    C++音视频实战-FFmpeg基础工程-多路H265监控录放开发

    pan.baidu.com/s/1g64x9D_jp9ufk4uBpQBmvA?pwd=497f  未来安防底层核心:C++ 音视频实战 FFmpeg 多路 H265 监控开发
    的头像 发表于 04-20 15:49 543次阅读

    探索MAX8989评估套件:入门实战

    探索MAX8989评估套件:入门实战 在当今的电子设备中,电源管理芯片起着至关重要的作用,它不仅影响着设备的性能和稳定性,还关系到设备的功耗和续航能力。Maxim Integrat
    的头像 发表于 04-04 09:05 244次阅读

    Renesas RSKRX231开发板:入门实战的全方位指南

    Renesas RSKRX231开发板:入门实战的全方位指南 在当今的电子设计领域,一款功能强大且易于上手的开发板对于工程师们来说至关重要。Renesas RSKRX231开发板就
    的头像 发表于 12-29 17:00 1522次阅读

    迅为iTOP-Hi3516开发板驱动开发资料全面上线,构建入门精通的完整学习路径!

    迅为iTOP-Hi3516开发板linux驱动开发资料全面上线,构建入门精通的完整学习路径!
    的头像 发表于 12-19 15:47 867次阅读
    迅为iTOP-Hi3516开发板驱动开发资料全面上线,构建<b class='flag-5'>从</b><b class='flag-5'>入门</b><b class='flag-5'>到</b>精通的完整<b class='flag-5'>学习</b>路径!

    AIROC™ CYW20829评估套件:入门实战

    AIROC™ CYW20829评估套件:入门实战 在物联网应用的蓬勃发展中,低功耗、高性能的蓝牙低功耗(Bluetooth® Low Energy)模块显得尤为重要。英飞凌的AIR
    的头像 发表于 12-19 10:30 513次阅读

    01,10+年资深LabVIEW专家,手把手教你攻克机器视觉+深度学习(5000分钟实战课)

    “告别检测系统能力缺陷!10+年LabVIEW视觉资深专家手把手教你:5000+分钟高清教程(含工具、算法原理、实战操作、项目优化全流程讲解)”——传统视觉算法→深度学习建模→工业级
    的头像 发表于 12-02 08:07 774次阅读
    <b class='flag-5'>从</b>0<b class='flag-5'>到</b>1,10+年资深LabVIEW专家,手把手<b class='flag-5'>教你</b>攻克机器视觉+深度<b class='flag-5'>学习</b>(5000分钟<b class='flag-5'>实战</b>课)

    AI+嵌入式双赛道课程就位!0基础项目实战,硬实力拿offer

    、学完不会实战的难题上。别担心,华清远见的AI+大模型全栈工程师实战课、嵌入式STM32全栈工程师实战课,早已帮你把入门到职场的路铺好:0
    的头像 发表于 10-24 15:02 621次阅读
    AI+嵌入式双赛道课程就位!<b class='flag-5'>从</b>0基础<b class='flag-5'>到</b>项目<b class='flag-5'>实战</b>,硬实力拿offer

    嵌入式入门进阶,怎么学?

    嵌入式入门进阶,怎么学? 嵌入式学习的核心是 “软硬结合的技术壁垒”,科学分层才能高效突破。以下是
    发表于 09-02 09:44

    CAN总线入门双捷径:零基础实战的极速指南

    无需深厚背景,两条捷径助你快速入门CAN总线!通过系统化的基础学习实战项目模拟,原理到应用一气呵成,轻松解锁CAN通讯技能。 CAN(Controller Area Network
    的头像 发表于 08-15 14:58 903次阅读
    CAN总线<b class='flag-5'>入门</b>双捷径:零基础<b class='flag-5'>到</b><b class='flag-5'>实战</b>的极速指南

    直流电机EMC整改:干扰源解决方案的实战指南

    南柯电子|直流电机EMC整改:干扰源解决方案的实战指南
    的头像 发表于 08-05 11:07 1364次阅读

    DSP入门精通全集

    这是一本循序渐进介绍DSP的书籍,DSP的入门知识介绍DPS的硬件,接口,应用,DSP的ADC/DAC数字滤波器处理。本文除了对DS
    发表于 07-12 14:36

    DeepSeek:入门精通

    电子发烧友网站提供《DeepSeek:入门精通.pdf》资料免费下载
    发表于 05-28 14:12 6次下载

    学电路设计分享学习心得、技术疑问及实战成果

    《硬件开发与电路设计速成实战篇(入门精通)》系列课程活动:学习完《硬件开发与电路设计速成实战篇(入门
    的头像 发表于 05-20 08:07 738次阅读
    学电路设计分享<b class='flag-5'>学习</b>心得、技术疑问及<b class='flag-5'>实战</b>成果