21天学通C++学习笔记(一):入门

1. 基础概念

1.1 编程语言

旨在让人更容易得使用计算资源,充分利用电脑,不用人做一些重复劳动或持续参与。

1.2 可执行文件

是可运行的成品,应按程序员希望的那样做。

1.3 生成可执行文件的步骤(构建可执行文件)

编辑/输入:使用文本编辑器/IDE编写C++代码,文件名必须以.cpp结尾。
编译:使用C++编译器对代码进行编译,将代码转换为包含在目标文件中的字节码/机器语言版本,一次处理一个代码文件,生成.o或.obj文件,并忽略这个cpp文件对其他文件中代码的依赖
链接:使用链接器链接编译器的输出,生成一个可执行文件(如Windows中的.exe文件),如果链接成功,则生成一个可执行文件供程序员执行和分发。

1.4 IDE

集成开发环境(Integrated Development Environment)。让您能够在一个统一的用户界面中完成编辑/输入、编译、链接、调试和运行步骤。
Windows下最流行的是Visual Studio,或使用VS Code配置及Mingw等编译器。
Linux下最流行的是GNU C++编译器g++及Eclipse。

2. 特点

2.1 是一种面向对象的编程语言

支持类,实现了封装、继承、抽象和多态等概念。
类包含成员数据以及操作成员数据的成员方法。其结果是程序员需要考虑数据以及要用它们来做什么。
也有人说只能算是基于对象,因为有多继承。

2.2 是一种中级编程语言

这意味着使用它既可以高级编程方式编写应用程序,又可以低级编程方式编写与硬件紧密协作的库
与.NET、Java等有内存垃圾回收机制的高级语言相比,C++可以让开发人员控制应用程序的资源使用和可用性,以及性能

2.3 一直以来,很多C++编辑器都支持C语言

3. C++标准

3.1 意义

不像.NET和Java有自身的中间运行环境和主流的跨平台编译器,C++被众多平台接受和采纳,这些平台使用了不同的编译器来编译成不同平台的机器语言/版本,为了避免这些不同编译器之前的差异导致的互操作性和移植方面的问题,ISO标准委员会批准了C++标准。
如果要编写Windows和Linux都可以运行的程序,最好在编程时遵循标准,避免针对环境进行编程。

3.2 发展历程

  1. C++98、C++03:比较老
  2. C++11:一些重大改进,比如:
    1. 引入了auto关键字自动推断变量类型;
    2. Lambda函数式没有名称的函数,让您能够编写紧凑的函数对象,而无需提供冗长的类定义,从而极大地减少了代码。
    3. 能够编写可移植的多线程C++应用程序,同时确保它们遵守标准。这些应用程序支持并行执行范式,在用户升级到多核CPU以改善硬件配置时,其性能将相应地提升。
  3. C++14:增量式改进,进行完善
  4. C++17

3.3 注意

并非所有流行的编译器都会迅速而全面地支持最新标准,所以这些新增功能并非不可少的,并需要评估。

4. 其他

  • 语句必须以;结尾,不像python那样可以以换行结尾。
  • 编译器直接生成使用机器语言的目标文件;解释型语言依赖于解释器,其在微处理器和代码之间充当翻译,因此性能通常会受到影响。
  • 警告不同于错误,不应系那个编译,只是可能有更好的编写方式;语法错误会禁止程序员生成可执行文件;运行时错误。
  • C++区分大小写
原文地址:https://www.cnblogs.com/wyp1988/p/9981826.html