随笔分类 -  C++

摘要:泛型算法 泛型算法是STL库里面定义的一些算法,这些算法可以用一个接口操作各种数据类型,因此成为泛型算法。大多算法定义在头文件algorithm和numeric中。意思就是可以用一个接口操作各种类型的算法就是泛型算法。 泛型算法分为两类,一类是只读算法,一类是修改原有容器的算法。 只读算法包括fin 阅读全文
posted @ 2022-01-07 17:07 恋恋风辰 阅读(92) 评论(0) 推荐(0) 编辑
摘要:常用容器 C++ 常用的stl容器包括: 1 vector 可变大小的数组,支持随机访问。在尾部之外位置插入或删除元素很慢。 2 deque 双端队列,支持快速随机访问,在头尾位置插入删除速度很快。 3 list 双向链表,支持双向访问,任何位置插入和删除都很快 4 forward_list 单向链 阅读全文
posted @ 2022-01-06 16:12 恋恋风辰 阅读(468) 评论(0) 推荐(0) 编辑
摘要:流的状态 C++流包括istream, ostream,基于istream继承实现了istringstream和ifstream,基于ostream继承实现了ostringstream和ofstream。 由于不能拷贝IO对象,因此我们也不能将形参或返回类型设置为流类型。 进行IO操作的函数通常以引 阅读全文
posted @ 2021-12-31 15:00 恋恋风辰 阅读(153) 评论(0) 推荐(0) 编辑
摘要:声明静态成员 我们通过在成员的声明之前加上关键字static使得其与类关联在一起。和其他成员一样,静态成员可以是public的或private的。静态数据成员的类型可以是常量、引用、指针、类类型等。 举个例子,我们定义一个类,用它表示银行的账户记录 class Account { public: v 阅读全文
posted @ 2021-12-29 16:46 恋恋风辰 阅读(94) 评论(0) 推荐(0) 编辑
摘要:类成员初始化 类成员的初始化可以通过构造函数的参数列表初始化,也可以在构造函数中赋值完成初始化 Sales_data::Sales_data(const Sales_data &sa) { this->bookNo = sa.bookNo; this->revenue = sa.revenue; t 阅读全文
posted @ 2021-12-29 11:46 恋恋风辰 阅读(96) 评论(0) 推荐(0) 编辑
摘要:访问成员 每个类都会定义它自己的作用域。在类的作用域之外,普通的数据和函数成员只能由对象、引用或者指针使用成员访问运算符来访问。对于类类型成员则使用作用域运算符访问 Screen::pos row = 3; Screen::pos col = 4; Screen screen(row, col, ' 阅读全文
posted @ 2021-12-28 12:32 恋恋风辰 阅读(187) 评论(0) 推荐(0) 编辑
摘要:私有和公有 一个类里有方法和成员变量,public关键字标识后,public下的方法和变量都变为公有函数。private关键字标识后,private关键字下的方法和成员变量都变为私有。默认情况下,如果不声明public,class中所有的方法和成员都是私有的。如果不声明private, struct 阅读全文
posted @ 2021-12-27 17:32 恋恋风辰 阅读(114) 评论(0) 推荐(0) 编辑
摘要:类 类就是对一类对象的抽象,比如鹦鹉,麻雀都是鸟,鸟就是类,而鹦鹉,麻雀等就是对象。我们期待实现一个Sales_data类,用来管理图书录入系统,通过录入Sales_data对象信息,达到统计销量和收入的目的。源码链接https://gitee.com/secondtonone1/cpplearn。 阅读全文
posted @ 2021-12-26 13:56 恋恋风辰 阅读(45) 评论(0) 推荐(0) 编辑
摘要:函数 一个典型的函数(function)定义包括以下部分:返回类型(return type)、函数名字、由0个或多个形参(parameter)组成的列表以及函数体。其中,形参以逗号隔开,形参的列表位于一对圆括号之内,如下就是一个函数的定义 void funca(){ cout << "hello w 阅读全文
posted @ 2021-12-26 13:51 恋恋风辰 阅读(122) 评论(0) 推荐(0) 编辑
摘要:数组的数组 严格来说,C++语言中没有多维数组,通常所说的多维数组其实是数组的数组。谨记这一点,对今后理解和使用多维数组大有益处。当一个数组的元素仍然是数组时,通常使用两个维度来定义它:一个维度表示数组本身大小,另外一个维度表示其元素(也是数组)大小: void multi_array() { // 阅读全文
posted @ 2021-12-26 13:50 恋恋风辰 阅读(357) 评论(0) 推荐(0) 编辑
摘要:数组 数组是一种类似于标准库类型vector的数据结构,但是在性能和灵活性的权衡上又与vector有所不同。与vector相似的地方是,数组也是存放类型相同的对象的容器,这些对象本身没有名字,需要通过其所在位置访问。与vector不同的地方是,数组的大小确定不变,不能随意向数组中增加元素。因为数组的 阅读全文
posted @ 2021-12-26 13:49 恋恋风辰 阅读(282) 评论(0) 推荐(0) 编辑
摘要:简介 本文介绍vector的使用方法,vector是一种高效访问和修改的容器,支持遍历,索引访问。 初始化 1 用花括号进行列表初始化 2 可以用()指定初始值和个数初始化 void vector_init() { //列表初始化 vector<string> v1{"a", "b", "c"}; 阅读全文
posted @ 2021-12-26 13:47 恋恋风辰 阅读(58) 评论(0) 推荐(0) 编辑
摘要:迭代器 当我们要遍历容器如vector,map等复杂结构时,可以通过迭代器进行遍历,依次取出容器中的值。通过容器类的begin()和end()函数获取指向第一个元素位置的迭代器和指向最后一个元素下一个位置的迭代器。 迭代器初步使用 void iterator_func() { string s("s 阅读全文
posted @ 2021-12-26 13:47 恋恋风辰 阅读(150) 评论(0) 推荐(0) 编辑
摘要:简介 今天介绍string类的使用 初始化和定义 //默认初始化,s1是一个空字符串 string s1; //赋值初始化,s2是s1的副本 string s2 = s1; //直接初始化 字面值初始化 string s3 = "hiya"; //直接初始化 构造函数初始化 string s4(10 阅读全文
posted @ 2021-12-26 13:46 恋恋风辰 阅读(69) 评论(0) 推荐(1) 编辑
摘要:## 简介 本节介绍C++输入输出流和基本的变量 ## iostream C++提供了标准的输入和输出流功能,要包含iostream头文件,就可以使用cin和cout了 cin表示输入,cout表示输出,下面是使用案例 <!--more--> ``` cpp #include <iostream> 阅读全文
posted @ 2021-12-26 13:43 恋恋风辰 阅读(273) 评论(0) 推荐(0) 编辑
摘要:简介 本文介绍如何在windows环境下,通过vscode搭建C++的开发环境 需要准备如下文件 1 vscode 软件 2 安装vscode开发插件 3 MinGW 安装vscode 下载地址 选择Download for windows 就可以了 安装vscode插件 安装好vscode后打开, 阅读全文
posted @ 2021-12-26 13:41 恋恋风辰 阅读(761) 评论(0) 推荐(0) 编辑
摘要:原文地址: http://www.limerence2017.com/2019/06/23/cpp01/ 做游戏或金融后台开发,经常会遇到设计开发排行榜的需求。比如玩家的充值排行,战力排行等等。而这种排行基本都是即时更新的,快速排序对于单一类型排序可以满足需求,但是对于多种类的排序就很吃力,比如实现 阅读全文
posted @ 2019-06-29 18:51 恋恋风辰 阅读(573) 评论(0) 推荐(0) 编辑
摘要:红黑树是高效查找和插入删除的数据结构,用途很广泛,如epoll的消息注册机制,stl中的map都采用了红黑树。## 红黑树的主要特性:`(1)每个节点或者是黑色,或者是红色。``(2)根节点是黑色。``(3)每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空的叶子节点!]``(4)如果一 阅读全文
posted @ 2017-10-30 17:05 恋恋风辰 阅读(937) 评论(0) 推荐(0) 编辑
摘要:最近复习了二叉搜索树的基础知识,总结下,然后用C++实现二叉搜索树的插入,删除,查找等,也是为了实现红黑树做铺垫。一个二叉搜索树结构如下,父节点做子树都比父节点小,右子树都比父节点大。 插入节点12后,如下 删除的情况,删除节点A,判断节点A是否为叶子节点,如果是叶子结点直接删除即可。如果叶子A有且 阅读全文
posted @ 2017-10-09 15:08 恋恋风辰 阅读(397) 评论(0) 推荐(0) 编辑
摘要:最近在自学python,看到继承和类,就顺便复习了C++的类和继承等方面的知识。 先看Base基类 Base类中定义私有的虚函数display, 普通成员函数say,公共的虚函数func, 普通的成员函数exec,重载了f1函数。 下面是DeriveA类,继承于Base类 DeriveA类继承了Ba 阅读全文
posted @ 2017-07-20 12:12 恋恋风辰 阅读(1266) 评论(0) 推荐(0) 编辑