「如何系统地学习C++语言」从开发环境到C++进阶,应该怎么办?

时间:2022-10-09 17:22:57 | 浏览:2192

开发环境如前面介绍的那样,C++属于一种静态的编译型语言,所以,开发环境配置过程中就需要用到对应的编译器。C++有很多编译器可以用,GCC或GNU Compiler Collection是最流行的C++编译器之一。下面是不同操作系统下的编译

开发环境

如前面介绍的那样,C++属于一种静态的编译型语言,所以,开发环境配置过程中就需要用到对应的编译器。

C++有很多编译器可以用,GCC或GNU Compiler Collection是最流行的C++编译器之一。

下面是不同操作系统下的编译器安装方式。

Linux

如果你使用的是Linux,可能已经默认安装了GCC。

如果没有,可以通过如下命令安装:

Linux下的IDE可以选择Codeblocks IDE或Eclipse CDT在Linux。


macOS

在Mac上,你可以使用Clang或GCC,两者都是免费的。

虽然GCC支持更广泛的C和C++标准,但Clang在大多数情况下都能正常工作。

可以使用Homebrew安装GCC:

开发工具方面,可以选择Visual Studio Code或者Xcode。


Windows

在Windows上有很多好的编译器。

在Windows上,Visual Studio提供了一个C++编译器,该编译器还可以构建C语言程序。

Visual Studio有自己强大的、功能丰富的IDE,对于任何开始使用C或C++的人或主要针对Windows平台的人来说,它是一个很好的选择。

如果你想要更符合标准的编译器,GCC(MinGW)也可以使用,Codeblocks IDE通过设置就可以满足需求。

IDE方面,Clang是目前比较好用的的工具,除此之外,还有一些跨平台的IDE,如Eclipse CDT、Jetbrains CLion和Netbeans,它们提供了功能齐全的C和C++开发环境。

最近,Visual Studio Code非常火热,在很多编程语言比较受欢迎,它也可用于Linux和Mac环境。


C++入门

语法是一种编程语言的核心,也是用C++开发的基础,就如同我们说汉语、英语一样,语法定义了C++代码的组成和理解方式。

下面看一段示例代码:

#include :这是一个头文件库,将功能导入到程序中。该命令的含义是程序从一个名的文件中导入内容,该文件代表输入和输出流。

using namespace std:指的是来自标准库(std)的对象和变量名称,通常用关键字std和运算符::来缩写。

int main ( ): 指定了一个主函数。函数是C++程序的一个重要部分,因为它们在代码中定义了一个动作,包含在括号{ }中的代码将被执行。

cout(读作see-out):是一个定义输出的对象,也就是代码中的字串,这里会输出Hello World。

return 0:指示程序不返回任何东西,文本字符串将是唯一的输出。

<<:是一个用于命名对象的操作符,而;(分号冒号)则作为一行代码的结束标识。

把这些放在一起,就组成了一段完成的C++代码。

通过这段简短的代码就简单的涵盖了C++中的一些基本语法,如果不首先学会基础语法,看这段代码如同天书一样,不知道它在做什么?它有什么含义?

如果了解基本语法,就能够像看一段汉语一样轻松理解它表示什么。

基本语法只是入门的一个方面,除此之外还要对如下内容有基本的认知:

函数--一个函数是一组语句,它们共同执行一项任务,每个C++程序至少有一个函数

数组--数组是一种数据结构,用于存储固定大小的同类元素的顺序集合

字符串- 字符串是由字符组成的一维数组,以空字符"/0"结束

指针- 指针是变量,其值是其他变量的地址。指针有助于更容易地执行C++任务,有些任务没有它们就无法执行

引用--引用是一个别名,是一个已经存在的变量的另一个名字。如果一个引用被初始化为一个变量,那么这个变量的名字和引用的名字就可以交替使用来指代这个变量

类和对象--类是C++的一个关键特征,通过将数据表示和操作该数据的方法结合到一个包中来指定一个对象的形式

多态--多态意味着有多种形式。在C++中,这指的是调用一个数值函数导致不同的函数被执行,这取决于调用该函数的对象的类型

C++实战

在入门C++并学习了一些C++编程技巧后,接下来需要做的就是把它们好好利用起来了,在实战中打磨并熟练C++。

做到这一点的一个方法是通过做一个项目来了解该语言的各个方面是如何结合起来的。

目前Github上有很多相关的项目,我们可以通过阅读相关的代码,理解它的实现过程,然后自己复现相关的项目来起到实战的作用。

也可以根据自己感兴趣的领域,给你寻找一些相关的需求场景,然后通过C++实现相应的工具或者软件。

例如,开发一款简单的小游戏、实现一个文献翻译工具、开发一个简易的计算器等等。


C++进阶

中级和高级C++编程建立在基础知识之上。

《C++ Crash Course》一书的作者Lospinoso说,在中级阶段,程序员需要了解引用和指针如何工作。支撑最强大的C++功能的其他核心概念,例如,对象生命周期和多态。

对这些概念如何理解、如何使用,以及如何高效的应用于项目中,则是走上进阶路线上必须学会的。

在进阶之路上,一个C++程序要做的就不再是如何通过基本语法或者面向对象编程去实现一项功能或者一个系统,而是学会并熟练通用编程、泛型编程,也就是说,需要考虑代码的通用性、可扩展性,以便后续可以更好的向后兼容,以及更加容易适应多平台的需求。


如果大家想好好学习C/C++的话,为了帮助大家,轻松,高效学习C语言/C++,给大家分享我收集的资源,从最零基础开始的,帮助大家在学习C语言的道路上披荆斩棘!

编程学习书籍分享:

编程学习视频分享:

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!

对于C/C++感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些C/C++的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!

相关资讯

一对一系统开发——一对一源码开发

一对一视频,字如其义,一对一视频能更好地保护观众们的隐私,如今任何东西都公开化的年代中,后期伴随着直播间的戏份又新增了一对一视频,计时房间,游戏,购物链接等等功能,还有直播间+短视频模式,社区公会的增加等功能。从这些方面来看,直播间的功能早

港口区积极开展台风过后市容环境卫生清理工作

8月26日,受今年第9号台风“马鞍”的影响,港口区各主次干道在暴雨台风袭击后,道路上满是树枝、杂物,道路两旁很多树木歪斜、倒伏甚至被连根拔起。台风过后,港口区各相关职能部门迅速行动,有条不紊地开展台风过后的市容环境卫生清理工作和保障道路交通

蕉城区残联开展2022年无障碍环境建设体验督导活动

为进一步提高蕉城区无障碍设施建设水平,9月2日,蕉城区残联开展2022年无障碍环境建设体验督导活动。前来参加督导活动的冯作友开心地告诉记者。活动中,工作人员与体验者先后来到南

永定区:加大控烟力度 为旅发大会创建无烟文明环境

红网时刻张家界9月4日讯(通讯员 欧爱琼)近期,永定区卫健局充分发挥部门职能作用,进一步加大控烟禁烟措施力度,增强市民控烟意识,倡导城市文明之风,为即将召开的首届湖南旅游发展大会创建无烟文明的良好环境。

珠山区东三郡社区让营商环境更暖心

大江网/景德镇头条客户端讯 为了给辖区内留守儿童带来更多的关爱,近日,珠山区东三郡社区开展关爱留守儿童走访慰问活动。活动中,志愿者们来到辖区卢天宇小朋友家中,志愿者们详细了解了,孩子的学习生活及身体和心理健康情况,嘱咐孩子暑期要注意预防溺水

株洲举行2022年度“质量月”活动启动仪式暨园区企业赴长沙考察学习活动

株洲新闻网9月13日讯(通讯员 谭嘉豪)近日,株洲举行2022年度“质量月”活动启动仪式暨园区企业赴长沙考察学习活动。此次活动由市市场监管局主办,石峰区市场监督管理局承办,湖南省知识产权协会协办。近50家市区园区企业和石峰区中小企业负责人赴

2022年市级重点项目出炉 开发203个招商项目 总投资2800多亿元

日前,我市公布2022年市级重点招商项目。今年我市共策划开发203个市级重点招商项目,涉及13条新兴优势产业链和其他产业,总投资2863亿元。中南高科产业园效果图超9成项目围绕产业链上下游按照“聚焦、裂变、创新、升级、品牌”工作思路,我市

200亿元!洛阳市洛龙区高新技术产业开发区去年产值破新高

大河报·大河客户端 记者 高菊 通讯员 高静 9月12日上午,“壮丽70年·奋斗新时代”系列主题新闻发布会洛龙专场举行。洛龙区围绕“坚持高质量,建设首善区”主题,以洛南大地发生的“四大嬗变”为切入点,生动展示该区在“首善之区”建设方面取得

江苏邦滕环保技术开发有限公司宋总一行五人到石龙区考察交流

11月15日下午,区委副书记张晓鼎、区委常委区政府副区长李刚、区政府副区长赵红利,在政府二楼会议室,会见了来石龙区考察交流的江苏邦滕环保技术开发有限公司宋总一行五人,双方就年产10万吨废旧有色金属综合利用项目进行了详细的洽谈。区财政局、区政

周口市川汇区:优化人居环境共建美丽家园

映象网讯(记者 金江涛)一直以来,周口市川汇区把农村人居环境整治提升作为当前一项重要工作来抓,以全面开展“三标”活动、积极实施“六增”行动为抓手,拉高工作标杆,聚焦短板弱项,动员各方力量,整合各种资源,突出“六个重点区域”,实施“六项行动”

友情链接

天天财经元宇宙中国SEO域名抢注宝宝起名网网站监控美食菜谱网河北旅游网上饶新闻资讯网红蜻蜓A股釜山旅行网股市大盘指数分析西湖龙井茶官网厦门交友聚会网LV包回收网今日蚌埠江门新闻媒体网董氏起名神器娱乐圈网中山新闻爆料网物流信息网雅安新闻头条网曲靖新闻头条网人才招聘网今日亳州武汉交友婚恋网中国式离婚梧州六堡茶官网文玩手串交流网梅州今日新闻网丹麦旅游网NFT数字藏品平台大全东南电子股票三亚婚纱摄影网湖南旅游网大理旅游网
数字藏品系统开发网是目前国内领先的数字艺术品、nft、元宇宙、数字藏品、nft开发、数字藏品平台、数字藏品平台建设、数字藏品平台开发、nft平台开发数字收藏品交易业务、NFT艺术品交易业务专用系统平台,为品牌提供一站式建设数字藏品平台服务,拥有丰富的数藏平台建设与运营经验。
数字藏品系统开发 hezua.cn©2022-2028版权所有