摘要:
向算法传递函数 默认情况下,泛型算法还实现了另外一个版本,就是接受一个额外的参数。比如sort函数,接受第三个参数,第三个参数是一个谓词。 谓词就是一个可调用的表达式,其返回值结果是一个能用作条件的值。 标准库算法所使用的谓词分为两类: 一元谓词(unary predicate,意味着它们只接受单一 阅读全文
摘要:
泛型算法 泛型算法是STL库里面定义的一些算法,这些算法可以用一个接口操作各种数据类型,因此成为泛型算法。大多算法定义在头文件algorithm和numeric中。意思就是可以用一个接口操作各种类型的算法就是泛型算法。 泛型算法分为两类,一类是只读算法,一类是修改原有容器的算法。 只读算法包括fin 阅读全文
摘要:
递归反转 本文介绍递归反转单链表,和之前的循环遍历反转单链表方式略有不同,递归的方式要写出推到递归公式。并且在递归的同时修改指针的指向。 先定义Node节点 class Node { public: Node(int dt, Node *nt = nullptr) : data(dt), next( 阅读全文
摘要:
常用容器 C++ 常用的stl容器包括: 1 vector 可变大小的数组,支持随机访问。在尾部之外位置插入或删除元素很慢。 2 deque 双端队列,支持快速随机访问,在头尾位置插入删除速度很快。 3 list 双向链表,支持双向访问,任何位置插入和删除都很快 4 forward_list 单向链 阅读全文
摘要:
流的状态 C++流包括istream, ostream,基于istream继承实现了istringstream和ifstream,基于ostream继承实现了ostringstream和ofstream。 由于不能拷贝IO对象,因此我们也不能将形参或返回类型设置为流类型。 进行IO操作的函数通常以引 阅读全文
摘要:
声明静态成员 我们通过在成员的声明之前加上关键字static使得其与类关联在一起。和其他成员一样,静态成员可以是public的或private的。静态数据成员的类型可以是常量、引用、指针、类类型等。 举个例子,我们定义一个类,用它表示银行的账户记录 class Account { public: v 阅读全文
摘要:
类成员初始化 类成员的初始化可以通过构造函数的参数列表初始化,也可以在构造函数中赋值完成初始化 Sales_data::Sales_data(const Sales_data &sa) { this->bookNo = sa.bookNo; this->revenue = sa.revenue; t 阅读全文
摘要:
访问成员 每个类都会定义它自己的作用域。在类的作用域之外,普通的数据和函数成员只能由对象、引用或者指针使用成员访问运算符来访问。对于类类型成员则使用作用域运算符访问 Screen::pos row = 3; Screen::pos col = 4; Screen screen(row, col, ' 阅读全文
摘要:
私有和公有 一个类里有方法和成员变量,public关键字标识后,public下的方法和变量都变为公有函数。private关键字标识后,private关键字下的方法和成员变量都变为私有。默认情况下,如果不声明public,class中所有的方法和成员都是私有的。如果不声明private, struct 阅读全文
摘要:
类 类就是对一类对象的抽象,比如鹦鹉,麻雀都是鸟,鸟就是类,而鹦鹉,麻雀等就是对象。我们期待实现一个Sales_data类,用来管理图书录入系统,通过录入Sales_data对象信息,达到统计销量和收入的目的。源码链接https://gitee.com/secondtonone1/cpplearn。 阅读全文