C++系列一: C++简介

这篇具有很好参考价值的文章主要介绍了C++系列一: C++简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C++ 是一种高级编程语言,是C语言的扩展和改进版本,由Bjarne Stroustrup于1983年在贝尔实验室为了支持C语言中的面向对象编程而创建。C++ 既能够进行底层的系统编程,也可以进行高层次的应用程序开发。

C++ 有丰富的语法特性,包括类、虚函数、模板、多重继承、多态等等特性,可用于操作系统、网络通信、嵌入式开发、游戏开发、桌面应用程序开发、图形图像处理等领域。

1. C++语言的特点

C++语言作为一种面对对象语言,具有面向对象开发的三大特性:

  • 封装性:屏蔽内部细节,只表现外部行为。(基础)
  • 继承性:派生类继承基类属性和服务。(关键)
  • 多态性:向不同类对象发同一消息,产生不同行为。(补充)

类和对象:类是具有相同属性和服务的若干对象的集合,对象是某个类的一个实例

此外,C++语言还具有以下特点:

  • 可移植性:C++ 的代码可以跨平台运行,即一段 C++ 代码可在不同的操作系统上编译运行。这是因为 C++ 的编译器可以将源代码转换成目标代码,目标代码可在不同的机器上执行。
  • 可扩展性:C++ 支持多项编程范式,包括面向过程、面向对象和泛型编程等,这些编程范式可以让程序员以不同的方式组织代码,使得 C++ 可以适用于各种应用场景。
  • 代码重用性:C++ 支持模板和抽象类等特性,这些特性可以让程序员编写可重用的代码。在 C++ 中可定义一些通用类型或函数,然后在其他地方重复使用这些通用类型或函数。

2. C++编译器

学习 C++ 需要先安装一个 C++ 编译器。C++ 编译器可以将源代码转换成可执行文件,让程序在计算机上运行。以下是几种常见的 C++ 编译器:

  • GCC:GNU Compiler Collection 是一个自由软件的编译器,支持多种语言(其中包括 C++)。GCC 以 ANSI C 语言为基础开发,在许多 Unix 和 Linux 系统上被广泛使用。
  • Clang:Clang 是用于 C、C++、Objective-C 和 Objective-C++ 的可移植编译器前端。它是 LLVM 项目的一部分,能够生成高质量的代码和非常详细的错误信息。
  • Visual C++:Visual C++ 是微软公司推出的用于 Windows 平台的 C++ 编译器,被广泛应用于 Windows 操作系统、桌面应用、游戏开发、嵌入式系统开发等领域(下载地址)。
  • Intel C++ Compiler:Intel C++ Compiler 是 Intel 公司开发的 C++ 编译器,支持多个平台,包括 IA-32、Intel 64、IA-64、ARM 和 MIPS 等。

不同的操作系统和编译器可能有不同的安装方式和配置方法,安装过程中,需要仔细阅读安装向导和相关文档,并根据实际情况进行设置和调整。

3. 第一个 C++ 程序

(1)Hello World

打开一个文本编辑器,输入以下代码:

#include <iostream>

int main()
{
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

执行这个程序输出

“Hello, world!”

(2)C++文件组成

C++ 文件主要包括文件头、预处理指令、全局变量、函数定义四个部分。

  • 文件头:包含了版权声明、作者、日期等信息,通常以注释的形式出现在文件的开头。
  • 预处理指令:用来引入头文件、宏定义、条件编译等操作,对代码进行预处理。
  • 全局变量:程序中定义的在函数外部的变量被称为全局变量,可以在整个程序中访问。
  • 函数定义:C++ 程序通过不同的函数来实现不同的功能。函数的定义包括函数名、形参、函数体和返回值类型。函数定义一般放在主函数之前。

C++ 支持两种注释:单行注释多行注释。单行注释以“//”开头,直到行尾结束;而多行注释以“/”开头,“/”结尾,可跨越多行。

// 这是一个单行注释
/*
这是一个
多行注释
*/

(3).cpp文件的执行

C++ 程序是一种编译型语言,要想将程序转化成能够在计算机上执行的二进制代码,必须先将 C++ 程序源代码进行编译和链接。

.cpp 是 C++ 程序源代码文件的文件扩展名,用编辑器编写 C++ 源代码,将其保存成 .cpp 文件,.cpp文件从编辑到执行的基本流程:

  • (1)将 .cpp 文件作为源代码,使用 C++ 编译器进行编译。在编译过程中,编译器会进行词法分析、语法分析、生成中间代码等操作,并将结果保存在目标文件中。
  • (2)将生成的目标文件与库文件进行链接,生成可执行文件(即 .exe 文件)。链接的过程主要包括符号解析、重定位等操作,最终生成可以在计算机上运行的二进制代码。
  • (3)用户双击 .exe 文件或者使用命令行执行可执行文件时,操作系统会启动进程,并在进程内部执行程序。进程启动后,操作系统会将可执行文件的二进制代码装载到进程的虚拟内存空间中,然后根据程序入口点开始执行。
  • (4)程序开始执行后,首先会执行 main 函数中的代码。main 函数是程序的入口函数,因此所有的程序逻辑都应该从这里开始执行。
  • (5)程序执行完毕后,将会退出进程,并清理所占用的系统资源,例如内存、句柄等。

由于 C++ 语言的高效、快速和稳定性,它在很多行业中被广泛应用,人才需求非常大。而且学习 C++ 可以更深入地了解计算机底层的工作原理,对于想从事底层开发或优化等领域的程序员来说非常重要。

4. 总结(手稿版)

20年前学习C++语言的幼稚记录
C++系列一: C++简介文章来源地址https://www.toymoban.com/news/detail-442073.html

到了这里,关于C++系列一: C++简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • R语言 一种功能强大的数据分析、统计建模 可视化 免费、开源且跨平台 的编程语言

    R语言是一种广泛应用于数据分析、统计建模和可视化的编程语言。它由新西兰奥克兰大学的罗斯·伊哈卡和罗伯特·杰特曼开发,并于1993年首次发布。R语言是一个免费、开源且跨平台的语言,它在统计学和数据科学领域得到了广泛的应用。 R语言具有丰富的数据处理、统计分

    2024年02月07日
    浏览(39)
  • 自己开发一种编程语言,可以同时开发鸿蒙,Android ios的三个平台的应用

    要开发一种可以在鸿蒙操作系统、Android操作系统和iOS操作系统上运行的编程语言,需要考虑以下几个方面: 语言设计:首先需要设计一种语言,该语言应具备跨平台的特性,能够在不同操作系统上编写应用程序。这需要考虑语法、语义、类型系统等方面的设计。 编译器或解

    2024年02月04日
    浏览(36)
  • 【编程】C++语言编程规范-2

    结合C++ Effective系列参考树、尤其是工程经验教训的总结。 并发 除非必要,尽量少用线程。 多线程编程要守护好内存,使用atomic、mutex、condition variable、future、semaphore、latch、barrier等同步机制避免数据竞争。 尽量缩小临界区,临界区指独占的资源,禁止其他线程访问变量的代

    2024年02月21日
    浏览(39)
  • 自然语言编程系列(二):自然语言处理(NLP)、编程语言处理(PPL)和GitHub Copilot X

           编程语言处理的核心是计算机如何理解和执行预定义的人工语言(编程语言),而自然语言处理则是研究如何使计算机理解并生成非正式、多样化的自然语言。GPT-4.0作为自然语言处理技术的最新迭代,其编程语言处理能力相较于前代模型有了显著提升。Copilot X 构建于

    2024年02月20日
    浏览(38)
  • Python系列(1):简洁优雅,功能强大的编程语言

    在当今的编程世界中,Python已经成为了一种无处不在的语言。它不仅简单易学,而且功能强大,支持多种编程范式,包括面向对象编程、函数式编程和过程式编程。本篇文章将深入探讨Python的特性和应用领域。 简洁的语法 :Python的语法清晰、简洁,使得代码易于阅读和编写

    2024年01月21日
    浏览(44)
  • 使用C++编写自己的编程语言CASM

    CASM帮助文档: CASM解释器讲解视频: 我独自开发了一种编程语言:CASM CASM解释器源代码(剪贴板有问题,总是粘贴成一行,哪位大佬帮帮我……): #include iostream #include cstring #include string #include cstdio #include map #include queue #include stack #include cstdlib #include list #include \\\"hint.hpp\\\" us

    2024年02月10日
    浏览(40)
  • C#编程语言的优势与C++对比

           C#语言是由 C/C++演变而来的,是微软推出的一种基于.NET框架的、面向对象的高级编程语言。以.NET框架类库作为基础,拥有类似Visual Basic的快速开发能力。简单易学,入门超快,减少了烦人的指针,有统一的操作符/修饰符/运算符,使用起来极其舒心。         对于

    2024年02月09日
    浏览(32)
  • 编程语言比拼之Java VS C++

    学Java还是C++?   Java和C++都是非常受欢迎的编程语言,各有各的优势和适用场景。以下是对它们的简要比较: 性能:C++通常被认为是一种更高效的编程语言,适用于对性能要求较高的应用程序,如游戏开发、嵌入式系统和高频交易等。C++具有更接近底层的控制能力,允许开发

    2024年02月13日
    浏览(26)
  • [编程语言][C++][Qt]单独添加UI文件

    不知什么原因,Qt Creator并不是很完美很智能。当先写好界面类的头文件和源代码文件后,我们再添加用于可视化界面设计的UI文件时,会出现一些问题。 当使用CMake管理项目时,CMake会读取 CMakeLists.txt 文件来确定各种项目设置。需要把 MainWindow.ui 包含进项目时,在 CMakeLists.

    2024年02月07日
    浏览(35)
  • 南京邮电大学通达学院 高级语言程序设计(C语言) 题库选择、填空、读程序题答案及解析、程序填空答案、编程题答案及代码作用的概括性说明

    关于概念的问题不做解析,都是死东西,也解析不了                                                                                                                                                  

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包