C++ 学习笔记

1、基础概念

C++ 是一种高性能的编程语言,由 Bjarne Stroustrup 在 1980 年代初设计,旨在为C语言添加面向对象的功能。自那时起,C++ 已发展成为一种支持过程性、面向对象和泛型编程的多范式语言,广泛应用于系统软件、游戏开发、驱动程序、嵌入式固件等领域。

要开始使用 C++,首先需要安装和配置开发环境。这通常包括选择一个合适的编译器如 GCC 或 Clang,并设置一个集成开发环境(IDE),例如 Visual Studio 或 Code::Blocks,这些工具提供了代码编辑、编译、调试的一体化解决方案。

入门的第一步通常是编写一个 "Hello World" 程序。这个简单的程序只需几行代码,即可输出 "Hello World" 到控制台,从而验证开发环境是否配置正确。

在 C++ 中,理解数据类型和变量是基本的。C++ 提供了多种基本数据类型,如 intdoublecharbool,用来存储数字、字符和布尔值。此外,C++ 支持数组、结构体、指针和引用等复杂数据类型。

控制流程是任何编程语言的核心,C++ 提供了条件语句(如 ifelseswitch)和循环语句(如 forwhiledo-while)来控制代码的执行路径和重复执行代码块。

函数是组织好代码的关键,它们允许将代码分解为可重用的单元。C++ 中的函数可以有参数和返回值,允许在程序中的任何地方调用它们,从而提高代码的可读性和模块性。

参考文档:

C++ 简介

C++ 集成开发环境

C++ 入门教程

C++ 编写代码语法

C++ 注释作用写法及示例代码

C++ 变量类型

C++ 常量

C++ 存储类型

C++ 数据类型

C++ 运算符

C++ 条件语句(If else)

C++ switch case 语句

C++ while循环语句

C++ for循环语句

C++ break和continue关键字

C++ 数组

C++ 类型修饰符

C++ 函数

C++ 递归

2. C++语言特性

引用和指针是C++中用于内存管理的核心概念,允许程序员直接操作内存地址。引用作为变量的别名存在,而指针则存储内存地址,使得访问和操作变量变得更灵活。内存管理还涉及到堆和栈的使用,其中栈用于存储局部变量和函数调用的信息,而堆则用于动态内存分配,通常由程序员手动管理,这在处理大量数据或不确定数据大小时特别有用。

在组织大型程序时,命名空间提供了避免名字冲突的方式,使得相同名字的变量或函数可以在不同的命名空间下共存,极大地增强了代码的模块化和可维护性。

面向对象编程是C++的一个核心特性,它通过类和对象的使用提供了一种更直观和灵活的方式来处理程序数据。类定义了对象的结构和行为,是面向对象设计的基础。继承、多态和封装是面向对象编程的三大基石。继承允许新的类继承现有类的特性,多态通过接口的多种实现提供了函数行为的多样性,而封装则隐藏了数据的内部表示,只暴露必要的操作接口,这有助于减少系统的复杂性并提高其安全性。这些特性共同工作,使得C++能够开发出结构清晰、可重用且易于维护的应用程序。

参考文档:

C++ 作用域及命名空间

C++ 枚举(enum)

C++ 指针

C++ 指针变量的加减及比较

C++ 指针数组

C++ 函数指针和指针函数

C++ 字符串

C++ struct结构体

C++ 结构体位域

C++ 共用体

C++ typedef

C++ 引用变量

C++ 输入输出(cout、cin、cerr、clog)

C++ 预处理命令

C++ 头文件

C++ 数据类型转换

C++ 函数参数

C++ 函数重载

C++ 类和对象

C++ 类成员函数(方法)

C++ 构造函数

C++ 访问修饰符

C++ 析构函数

C++ 拷贝构造函数

C++ 友元类和友元函数

C++ 内联函数

C++ 面向对象 this 指针

C++ 指向类对象的指针

C++ 类的静态成员变量和函数

C++ 面向对象 封装

C++ 面向对象 继承

C++ 面向对象 多态(虚函数和纯虚函数)

C++ 接口(抽象类)

3、标准库
标准库提供了丰富的功能模块,这些模块包括标准输入输出流(iostream)、字符串处理(string)、容器类和算法库,以及输入输出流库(fstream)。具体来说,iostream库负责标准的输入输出操作,如读取键盘输入和屏幕输出。string库提供了强大的字符串处理能力,使得字符串操作更加简便和安全。容器类包括向量(vector)、列表(list)、集合(set)、映射(map)等,这些容器为数据存储和访问提供了多种灵活的方式。算法库(algorithm)则提供了一系列预定义的算法,如排序和搜索,可以直接应用于容器类。最后,输入输出流库(fstream)扩展了iostream的功能,支持对文件的读写操作,这使得文件处理变得更为高效和简洁。这些库的综合运用极大地增强了C++的表达力和实用性。
参考文档:

C++ File文件处理 相关函数方法

C++ File文件处理 创建和写文件

C++ File文件处理 读文件

C++ File文件处理 删除文件和文件夹目录

C++ try catch 异常处理

C++ 动态内存分配(new,delete)

C++ 命名空间

C++ 模板

C++ 标准库

posted @ 2024-04-29 21:41  leviliang  阅读(17)  评论(0编辑  收藏  举报