07 2024 档案

摘要:21 操作符重载 21.12 重载赋值运算符 拷贝构造器和拷贝赋值运算符的作用几乎相同,都是将一个对象复制到另一个对象。但是拷贝构造器初始化新的对象,而赋值运算符替换已有对象的内容 如果在拷贝前必须创建一个新对象,则使用拷贝构造器(包括按值传递和按值返回) 如果在拷贝前无需创建一个新对象,则使用赋值 阅读全文
posted @ 2024-07-22 22:23 dengkang1122 阅读(22) 评论(0) 推荐(0)
摘要:20 函数 20.1 函数指针 函数和变量一样,也是在内存中被分配了一块地址。因此,函数指针就是一个保存函数的内存地址的变量 函数也是有类型的,例如foo()这个函数的类型就是返回整数且不带参数 int foo(){return 5;} <<操作符不知道如何输出函数指针(因为有无数种可能的函数指针) 阅读全文
posted @ 2024-07-22 22:22 dengkang1122 阅读(38) 评论(0) 推荐(0)
摘要:14 类 14.9 构造器 当类有私有成员时,无法使用聚合初始化 构造器是一个特殊的成员函数,它在非聚合类的对象创建后自动调用 构造器不会创建对象:编译器在调用构造器之前就为对象分配了内存,然后在未初始化的对象上调用构造函数 构造器需要初始化对象的成员,因此不能为const const对象不能调用非 阅读全文
posted @ 2024-07-22 22:22 dengkang1122 阅读(26) 评论(0) 推荐(0)
摘要:12 复合类型:引用和指针 12.1 复合数据类型介绍 函数也是一种复合数据类型 12.2 左值和右值 表达式除了可以产生值和副作用,还可以计算为对象或函数 C++中的所有表达式都有两个属性:类型和值类别 表达式的类型就是计算表达式得出的值、对象、函数的类型 表达式的类型必须在编译时可确定,否则类型 阅读全文
posted @ 2024-07-22 22:21 dengkang1122 阅读(22) 评论(0) 推荐(0)
摘要:11 函数重载和函数模板 11.6 函数模板 编译器可以使用单个模板来生成一系列相关的函数或类,每个函数或类使用不同的类型 模板形参声明的作用域仅限于它后面的函数模板(或类模板) template <typename T> T max(T x, T y) { return (x < y) ? y : 阅读全文
posted @ 2024-07-22 22:20 dengkang1122 阅读(22) 评论(0) 推荐(0)
摘要:10 类型转换、类型别名、类型推导 10.4 窄化转换(收缩转换)、列表初始化和constexpr初始化器 窄化转换是一种不安全的数值转换:目标类型可能无法保存源类型的所有值 以下转换是窄化的: 浮点型转换成整型 从浮点型转换成等级更低的浮点型(除非被转换的值是constexpr并且在目标类型的范围 阅读全文
posted @ 2024-07-22 22:20 dengkang1122 阅读(51) 评论(0) 推荐(0)
摘要:7 作用域、生存期、链接 7.2 用户自定义命名空间和范围解析运算符 为了避免命名冲突,在尽可能小的作用域内定义标识符 一个命名空间要么在全局作用域内定义,要么在另一个命名空间内定义 使用范围解析运算符::可以告诉编译器去指定命名空间查找指定标识符(如果::前没有命名空间则表示全局命名空间) 如果使 阅读全文
posted @ 2024-07-22 22:20 dengkang1122 阅读(41) 评论(0) 推荐(0)
摘要:4 基本数据类型 4.1 基本数据类型介绍 比特、字节、内存地址 变量是一块可以存储信息的内存的名称 内存的最小单元是比特,但是每个内存地址对应一个字节 内存里的所有数据都是一串比特,所以我们使用数据类型来告诉编译器如何以某种有意义的方式来解释/翻译内存的内容 4.8 浮点数 默认情况下,浮点数字面 阅读全文
posted @ 2024-07-22 22:19 dengkang1122 阅读(28) 评论(0) 推荐(0)
摘要:2 函数和文件 2.1 函数简介 函数是一个可重复使用的语句序列,旨在完成特定的工作。 函数定义由函数头和函数体组成。 函数定义里不能嵌套函数定义。 2.2 函数返回值 当程序执行时,操作系统调用main函数,最后main函数返回一个整数值,然后程序终止。 main函数返回0说明程序执行正常结束 如 阅读全文
posted @ 2024-07-22 22:18 dengkang1122 阅读(29) 评论(0) 推荐(0)
摘要:1 C++基础 1.1 语句和程序结构 语句是一条让计算机执行某个动作的指令,是C++语言中最小的独立计算单元 在高级语言(例如C++)中,一条语句可能编译成多条机器指令 大多数语句以;结尾 声明语句 跳转 表达式语句 复合语句 选择语句(条件语句) 迭代语句(循环语句) try代码块 函数是顺序执 阅读全文
posted @ 2024-07-22 22:16 dengkang1122 阅读(62) 评论(0) 推荐(0)
摘要:0.7 编译第一个程序 项目是一个容器,包含了所有的源码文件;构建程序时,项目中的所有.cpp文件都会被编译和链接 一个项目对应一个程序,为编写的每个新程序创建一个新项目 控制台项目:可以从windows、linux、mac控制台运行的程序 控制台程序没有图形用户界面(GUI),它们将文本输出到控制 阅读全文
posted @ 2024-07-22 22:15 dengkang1122 阅读(37) 评论(0) 推荐(0)
摘要:11.1 C++ STL 序列容器:维持顺序的容器 vector:动态数组,随机读取的时间复杂度为O(1),增删元素的时间复杂度为O(N)(与增删元素的位置到结尾的距离成线性关系),但是尾部增删的时间复杂度为O(1) list:双向链表(可以当做stack和queue) deque:双端队列,既支持 阅读全文
posted @ 2024-07-15 14:58 dengkang1122 阅读(26) 评论(0) 推荐(0)