热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

开发环境如前面介绍的那样,C属于一种静态的编译型语言,所以,开发环境配置过程中就需要用到对应的编译器。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:指示程序不返回任何东西,文本字符串将是唯一的输出。

<<&#xff1a;是一个用于命名对象的操作符&#xff0c;而;&#xff08;分号冒号&#xff09;则作为一行代码的结束标识。

把这些放在一起&#xff0c;就组成了一段完成的C&#43;&#43;代码。

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

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

基本语法只是入门的一个方面&#xff0c;除此之外还要对如下内容有基本的认知&#xff1a;

函数--一个函数是一组语句&#xff0c;它们共同执行一项任务&#xff0c;每个C&#43;&#43;程序至少有一个函数

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

字符串- 字符串是由字符组成的一维数组&#xff0c;以空字符&#39;/0&#39;结束

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

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

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

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

C&#43;&#43;实战

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

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

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

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

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


C&#43;&#43;进阶

中级和高级C&#43;&#43;编程建立在基础知识之上。

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

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

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


如果大家想好好学习C/C&#43;&#43;的话&#xff0c;为了帮助大家&#xff0c;轻松&#xff0c;高效学习C语言/C&#43;&#43;,给大家分享我收集的资源&#xff0c;从最零基础开始的&#xff1a;

编程学习视频分享&#xff1a;

 

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

有需要的童鞋可以来到我下方交流群里面哦~


推荐阅读
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • 创建项目:Visual Studio Online 入门指南
    本文介绍如何使用微软的 Visual Studio Online(VSO)创建和管理开发项目。作为一款基于云计算的开发平台,VSO 提供了丰富的工具和服务,简化了项目的配置和部署流程。 ... [详细]
  • 本文探讨了如何通过预处理器开关选择不同的类实现,并解决在特定情况下遇到的链接器错误。 ... [详细]
  • Ubuntu GamePack:专为游戏爱好者打造的Linux发行版
    随着Linux系统在游戏领域的应用越来越广泛,许多Linux用户开始寻求在自己的系统上畅玩游戏的方法。UALinux,一家致力于推广GNU/Linux使用的乌克兰公司,推出了基于Ubuntu 16.04的Ubuntu GamePack,旨在为Linux用户提供一个游戏友好型的操作环境。 ... [详细]
  • OBS (Open Broadcaster Software) 架构解析
    本文介绍 OBS(Open Broadcaster Software),一款专为直播设计的开源软件。文章将详细探讨其技术架构、核心组件及其开发环境要求。 ... [详细]
  • iTOP4412开发板QtE5.7源码编译指南
    本文详细介绍了如何在iTOP4412开发板上编译QtE5.7源码,包括所需文件的位置、编译器设置、触摸库编译以及QtE5.7的完整编译流程。 ... [详细]
  • Microsoft即将发布WPF/E的CTP(Community Technology Preview)和SDK,标志着RIA(Rich Internet Application)技术的新里程碑。更多详情及下载链接请参见MSDN官方页面。 ... [详细]
  • 在Win10上利用VS2015构建Caffe2环境
    本文详细介绍如何在Windows 10操作系统上通过Visual Studio 2015编译Caffe2深度学习框架的过程。包括必要的软件安装、环境配置以及常见问题的解决方法。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • ###问题删除目录时遇到错误提示:rm:cannotremoveusrlocaltmp’:Directorynotempty即使用rm-rf,还是会出现 ... [详细]
  • 本文详细介绍了如何在 Windows 环境下使用 node-gyp 工具进行 Node.js 本地扩展的编译和配置,涵盖从环境搭建到代码实现的全过程。 ... [详细]
  • 本文详细介绍了 Visual FoxPro 中 GETCOLOR() 函数的功能及其使用方法,帮助开发者更好地理解和应用该函数。 ... [详细]
  • 本文详细介绍如何在 macOS 上编译 FFmpeg 3.1.1,并将其集成到 iOS 项目中,包括必要的环境配置和代码示例。 ... [详细]
author-avatar
温蚊童鞋_612
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有