Thinking in C++ 第一卷阅读全书笔记重点总结

1. 学习C++的思维方式

1.1 C++的特点

C++是一门非常强大的编程语言,具有如下特点:

C++是一门面向对象的语言,支持类和继承等特性。

C++也是一门系统级语言,可以直接操作底层硬件。

C++是一门高效的语言,在处理大量数据和计算密集型任务时表现突出。

C++具有较高的跨平台性,可以在不同的操作系统和硬件上运行。

1.2 学习C++的思维方式

学习C++需要转变思维方式,需要从以下三个方面进行努力:

理解计算机底层原理,掌握计算机体系结构与机器语言。

学习C++语言的基础知识,包括数据类型、语法结构等。

编写代码时要有良好的设计思想,注重代码的可读性和可维护性。

2. C++语言基础

2.1 C++程序的基本结构

C++程序的基本结构包括:

#include <iostream> //头文件

using namespace std; //命名空间

int main() { //main函数

cout << "Hello, World!" << endl; //输出语句

return 0; //返回值

}

头文件指的是引入的库文件,可以使用标准库文件或自己编写的文件。

命名空间是C++中用来区分不同库中同名函数、变量等的方法。

main函数是C++程序的入口,即程序从这里开始执行。

输出语句使用cout进行输出,endl表示换行。

返回值表示程序运行结束后的状态,0表示正常结束。

2.2 数据类型

C++中定义了多种数据类型,包括整型、浮点型、字符型、布尔型等。

使用变量可以存储不同类型的数据,变量名应具有描述性。

常量是不能被修改的数据,包括整型常量、浮点型常量、字符常量等。

2.3 运算符

C++中的运算符包括算术运算符、关系运算符、逻辑运算符等。

需要注意的是类型转换,可以使用强制类型转换或自动类型转换。

3. C++高级特性

3.1 模板

模板是C++中的一个非常重要的特性,可以使得同一个函数适用于不同的数据类型。

template <typename T> //定义模板

T add(T a, T b) { //使用模板

return a + b;

}

typename指定了模板参数类型,可以使用不同的标识符作为模板参数。

3.2 智能指针

智能指针是C++中的一种特殊指针,可以自动管理内存。

#include <memory>

void func() {

std::shared_ptr<int> p(new int); //使用智能指针

*p = 10; //操作指针

} //离开函数时,智能指针自动释放内存

std::shared_ptr是一种智能指针,可以指定指针类型并进行内存管理。

使用智能指针可以提高代码的可靠性和可维护性,避免内存泄漏等问题。

3.3 异常处理

异常处理是C++中的一个特性,可以在程序运行时出现错误时进行处理。

try { //捕获异常

int a = 10 / 0;

} catch (exception& e) { //处理异常

cout << e.what() << endl;

}

try表示尝试执行语句块,如果出现异常,则执行下面的catch语句块。

exception是一个标准库异常类型,可以捕获不同类型的异常。

使用异常处理可以使得程序更加健壮,避免意外退出。

后端开发标签