恋恋风辰的个人博客


  • Home

  • Archives

  • Categories

  • Tags

  • Search

泛型算法

Posted on 2022-01-06 | In C++

泛型算法

泛型算法是STL库里面定义的一些算法,这些算法可以用一个接口操作各种数据类型,因此成为泛型算法。大多算法定义在头文件algorithm和numeric中。意思就是可以用一个接口操作各种类型的算法就是泛型算法。

Read more »

容器

Posted on 2022-01-04 | In C++

常用容器

C++ 常用的stl容器包括:
1 vector 可变大小的数组,支持随机访问。在尾部之外位置插入或删除元素很慢。
2 deque 双端队列,支持快速随机访问,在头尾位置插入删除速度很快。
3 list 双向链表,支持双向访问,任何位置插入和删除都很快
4 forward_list 单向链表,只支持单向访问,在列表任何位置插入和删除都很快
5 array 固定大小数组,支持快速随机访问,不能添加和删除元素。
6 string 与vector相似,专门用于处理字符串。

Read more »

双链表实现LRU算法

Posted on 2021-12-29 | In 数据结构和算法

链表

所谓链表就是一个节点指向另一个节点的数据结构,像一条链子把每个节点连接起来。
如果一个节点既指向了后面的节点,也指向了前面的节点,这些节点就构成了双向链表。
我们先定义这个节点结构

1
2
3
4
5
6
7
8
9
class NodeLRU
{
public:
NodeLRU(int v) : val(v), prev(nullptr), next(nullptr) {}

int val;
NodeLRU *prev;
NodeLRU *next;
};

val为节点的数据域表示节点存储的数值
prev为节点的前一个节点
next为节点的后一个节点
然后我们把这些节点串连起来,定义一个链表的结构

Read more »

C++ IO流

Posted on 2021-12-29 | In C++

流的状态

C++流包括istream, ostream,基于istream继承实现了istringstream和ifstream,基于ostream继承实现了ostringstream和ofstream。
由于不能拷贝IO对象,因此我们也不能将形参或返回类型设置为流类型。
进行IO操作的函数通常以引用方式传递和返回流。读写一个IO对象会改变其状态,因此传递和返回的引用不能是const的。

Read more »

静态成员

Posted on 2021-12-29 | In C++

声明静态成员

我们通过在成员的声明之前加上关键字static使得其与类关联在一起。和其他成员一样,静态成员可以是public的或private的。静态数据成员的类型可以是常量、引用、指针、类类型等。

Read more »

构造函数

Posted on 2021-12-28 | In C++

类成员初始化

类成员的初始化可以通过构造函数的参数列表初始化,也可以在构造函数中赋值完成初始化

1
2
3
4
5
6
Sales_data::Sales_data(const Sales_data &sa)
{
this->bookNo = sa.bookNo;
this->revenue = sa.revenue;
this->units_sold = sa.units_sold;
}
Read more »

类的作用域

Posted on 2021-12-28 | In C++

访问成员

每个类都会定义它自己的作用域。在类的作用域之外,普通的数据和函数成员只能由对象、引用或者指针使用成员访问运算符来访问。对于类类型成员则使用作用域运算符访问

1
2
3
4
5
6
Screen::pos row = 3;
Screen::pos col = 4;
Screen screen(row, col, 'c');
screen.get();
Screen *psc = &screen;
psc->get();
Read more »

类的访问控制

Posted on 2021-12-27 | In C++

私有和公有

一个类里有方法和成员变量,public关键字标识后,public下的方法和变量都变为公有函数。private关键字标识后,private关键字下的方法和成员变量都变为私有。默认情况下,如果不声明public,class中所有的方法和成员都是私有的。如果不声明private, struct中所有的方法和成员都是公有的。

Read more »

类基础

Posted on 2021-12-24 | In C++

类

类就是对一类对象的抽象,比如鹦鹉,麻雀都是鸟,鸟就是类,而鹦鹉,麻雀等就是对象。我们期待实现一个Sales_data类,用来管理图书录入系统,通过录入Sales_data对象信息,达到统计销量和收入的目的。源码链接https://gitee.com/secondtonone1/cpplearn。如果我们实现Sales_data类,外部调用是这样的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
void dealSales()
{
//保存当前求和结果的变量
Sales_data total;
//读入第一笔交易
if (read(cin, total))
{
//保存下一条交易数据的变量
Sales_data trans;
//读入下一条交易数据
while (read(cin, trans))
{
//判断isbn
if (total.isbn() == trans.isbn())
{
//更新变量total的值
total.combine(trans);
}
else
{
//输出结果
print(cout, total) << endl;
// isbn号不一样,说明是新类型的书
// 处理新类型的书
total = trans;
}
}
//输出最后一条交易
print(cout, total) << endl;
}
else
{
//没有输出任何信息
cerr << "No data?!" << endl;
}
}
Read more »

函数

Posted on 2021-12-22 | In C++

函数

一个典型的函数(function)定义包括以下部分:返回类型(return type)、函数名字、由0个或多个形参(parameter)组成的列表以及函数体。其中,形参以逗号隔开,形参的列表位于一对圆括号之内,如下就是一个函数的定义

Read more »
<1…181920…37>

370 posts
17 categories
21 tags
RSS
GitHub ZhiHu
© 2025 恋恋风辰 本站总访问量次 | 本站访客数人
Powered by Hexo
|
Theme — NexT.Muse v5.1.3