
C++学习笔记
学习C++过程的部分笔记
不想调试板子
今天也要努力鸭!
展开
-
switch语句
switch语句的一般格式:switch (表达式){ case 常量表达式1:语句1; case 常量表达式1:语句1; case 常量表达式1:语句1; ... case 常量表达式n:语句n; default:语句n+1}使用注意:1、在执行switch语句时,根据表达式的值找到入口,也即对应的case,执行完成对应的语句后,程序继续执行下一个case,而不再继续判断。2、执行完一个case语句后,如果要终止case语句的执行,可以用break语句来实现。测试用代码:原创 2021-03-05 11:05:39 · 900 阅读 · 1 评论 -
C++学习笔记——迭代器
一、定义 迭代器是面向对象版本的指针,它提供了访问容器和序列中每个元素的方法,可以利用迭代器对存储在容器中的元素进行遍历。二、分类1、输入(input):读取数据2、输出(output):写入数据3、前向(forward):读/写数据,并可对序列进行单向的遍历。4、双向(bidirectional):读/写数据,并可对序列进行双向的遍历。...原创 2020-05-02 23:29:51 · 246 阅读 · 0 评论 -
C++学习笔记——容器
一、定义 容器是数据结构,是包含对象的对象。二、分类容器类型头文件描述vector顺序容器vector按需要伸缩的数组deque顺序容器deque两端进行有效插入/删除的数组list顺序容器list双向链表,可从任意一段开始遍历,但需要按照顺序访问容器set关联容器set不含重复的...原创 2020-05-02 20:28:18 · 164 阅读 · 0 评论 -
C++学习笔记——类模板
类模板的实例化必须由程序员在程序中显式地制定。定义模板类对象的格式: <类模板名><类型实参表><对象名>[(<实参表>)]举个栗子:#include <iostream>using namespace std;const int size = 10;templa...原创 2020-05-02 15:58:12 · 222 阅读 · 0 评论 -
C++学习笔记——函数模板
模板:把函数或类要处理的数据类型参数化,即表现为参数的多态性,一种代码重用机制。template <模板参数表><返回值类型><函数名>(<参数表>){ <函数体>}template:模板的关键字。<模板参数表>:包含一个或多个用逗号分开的模板参数项。举个栗子:...原创 2020-05-02 15:01:24 · 201 阅读 · 0 评论 -
C++学习笔记——运算重载符
一、运算符重载的规则(1)符合语言语法。(2)不能重载对内部C++数据类型进行操作的运算符。(3)不能创建新的运算符。(4)不能重载下面的运算符。 .类成员选择运算符。 .*成员指针运算符。 ::作用域运算符。 ?:条件表达式运算符。(5)保持原有的基本语义不变。二、运算符重载的形式1、成员函数重载运算符<返回值类型> operator...原创 2020-04-24 11:31:18 · 303 阅读 · 0 评论 -
C++学习笔记——虚析构函数的必要性
如果一个类中定义了虚函数,那=析构函数也应说明未虚函数。 delete运算符和析构函数一起工作,当使用delete删除一个对象时,delete隐藏着对析构函数的一次调用。 ...原创 2020-02-13 23:33:42 · 285 阅读 · 0 评论 -
C++学习笔记——类的静态成员
前言:静态成员是指声明为 static 的类成员一、静态数据成员 静态数据成员:不属于任何对象,不会因对象的建立而产生,也不会因对象的析构而删除,它是类的一部分,所以使用静态数据成员不会破坏类的隐蔽性。 ...原创 2020-02-13 15:59:39 · 218 阅读 · 0 评论 -
C++学习笔记——运算符new与delete
C++中使用new、new[ ]、delete、和delete[ ]运算符来进行动态内存分配和释放。new 分配一个空间;delete 释放由new分配的单一空间;new[ ] 分配一个数组;delete[ ] 释放由new[ ]分配的数组。语法: new + 数据类型。new运算符用来动态地分配存储空间。如果分配成功,则返回一个指向分配的存储空间的指针。int *p; p ...原创 2020-02-13 13:17:10 · 479 阅读 · 0 评论 -
C++学习笔记——多继承机制下构造函数的调用顺序(2)
如果派生类有一个虚基类作为祖先类,那么在派生类构造函数的初始化列表中需要对虚基类构造函数的调用,如果未列出则表明用的是虚基类的无参数构造函数。 不管初始化列表中次序如何,对虚基类构造函数的调用总是先于先于普通基类的构造函数。&nb...原创 2020-02-09 20:32:31 · 565 阅读 · 0 评论 -
C++学习笔记——多继承机制下构造函数的调用顺序(1)
多继承方式下派生类的构造函数必须同时负责该派生类所有基类构造函数的调用。 构造函数的调用顺序为:先调用所有基类的构造函数,再调用派生类中子对象类的构造函数(如派生类中的子对象),最后调用派生类的构造函数。 &...原创 2020-02-09 19:33:30 · 4931 阅读 · 0 评论 -
C++学习笔记——私有继承
当类的继承方式为私有继承时,在派生类中,基类的共有成员和保护成员作为派生类的私有成员。此时有:派生类的成员函数可以直接访问基类的共有成员和保护成员,而无法直接访问基类的私有成员。 在类外部,派生类的成员无法访问基类的所有成员。举个栗子:调用库:#in...原创 2020-02-09 13:22:25 · 328 阅读 · 0 评论 -
C++学习笔记——内存空间
c++程序的内存格局通常分为4个区: 数据区(Data Area):存放全局变量、静态数据、常量。 代码区(Code Area):存放所有类成员和非成员函数代码。 栈区(Stack...原创 2020-02-08 21:37:45 · 212 阅读 · 0 评论 -
C++学习笔记——析构函数
析构函数:在对象消失时执行一项清理任务,可以用来释放由构造函数分配的内存等。函数格式:<类名>::~<类名>(){ <函数体>}特点:1、名称与类名相同,与构造函数名的区别在于前面加“~”,表明与构造函数的功能相反。2、没有参数,不能重载,一个类只能定义一个析构函数。3、不能指定返回类型,即使是void类型也不可以。4、在释放一个对象的时候...原创 2020-02-08 12:23:34 · 533 阅读 · 0 评论