自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 可选择头像

暂无

2023-01-07 13:19:31 132 1

原创 Airpods2连接Win10电脑麦克风不可用的情况(例如腾讯会议等场景)

Airpods麦克风不可用(腾讯会议等场景下)

2022-06-10 11:31:34 13308 1

原创 CentOS中VMware tools安装教程汇总

出现的问题:找不到VMware tools的安装包解决办法:https://blog.csdn.net/donggua_bit/article/details/100740347https://blog.csdn.net/donggua_bit/article/details/100740347正式安装过程综合了以下两种方法,第一种提供了很多问题的解决方法,第二种给出的安装过程十分简洁明确。结合实际自行考虑比较复杂详细的描述会遇到的问题CentOS7安装VMware Tools_

2022-03-14 21:29:52 2868

原创 NIST测试相关——①Cygwin的安装以及使用指南②Python实现

目前最新NIST随机数测试软件下载、安装、及使用教程_Miracle.Zhao的博客-CSDN博客_nist随机性测试最近由于科研需要,在搞一些随机数的测试的事情,众所周知 随机数测试我们可以使用NIST的软件进行多大15项的随机测试,我也在网上查找了很多大牛的博客,但是都是年代久远,很多的链接现在都是物是人非,都是不能直接使用了,今天顺便抽点时间更新一下这个NIST软件的下载及使用。我们首先讲一下该软件的下载:1.我们直接取NIST的官网(https://csrc.nist.gov/)下载即可 ;链接如下

2022-01-28 16:43:43 11561

原创 乐视超级电视无法进入界面的问题及解决办法,安装电视家

近期电视桌面的频繁自动更新出现的bug恢复出厂设置的方式:转载自:乐视电视无法开机启动 乐视电视开机的时候启动不了什么原因_伊秀经验1、乐视电视无法开机启动建议将电视恢复出厂设置尝试下呢,在电视待机状态下(通电后打开机械开关)依次按下【3】、【6】、【9】、【2】、【开机】键(即遥控器左上角红色待机按键)即可。提示:恢复出厂设置会清空下载的三方软件和会员账号密码。2、如以上方法不行,则可尝试以下方法:在待机状态下(物理开关打开不开遥控开机时)按遥控上3、6、9、2和开机键。强行恢复出厂。待机

2022-01-06 11:19:18 19851

原创 Notion相关

汉化:GitHub - Reamd7/notion-zh_CN: notion 中文化新手快速入门:notion教程????|零基础新手快速入门使用_哔哩哔哩_bilibili

2022-01-05 12:20:23 265

原创 Tampermonkey油猴插件——使用教程整理

分享链接:Tampermonkey油猴插件——使用教程 - 知乎

2022-01-05 11:27:27 2601

原创 Win10家庭版安装VMware虚拟机-开启时出现蓝屏的问题

Win10家庭版安装VMware虚拟机蓝屏问题解决办法

2022-01-05 09:57:33 3339 1

原创 软件生命周期模型

瀑布模型螺旋模型螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。 螺旋模型更适合大型的昂贵的系统级的软件应用。迭代模型迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他元素,强调开发的深入。(个人理解:软件的版本更新)在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:需求分析、设计、实施和测试工作流程。..

2021-11-26 14:48:48 167

原创 C++学习笔记(Day17 函数适配器 算法)

函数适配器 绑定适配器:bind1st、bind2nd 将n元函数对象的指定参数绑定为一个常数,得到n-1元函数对象 组合适配器:not1、not2 将指定谓词的结果取反 函数指针适配器:ptr_fun 将一般函数指针转换为函数对象,使之能够作为其它函数适配器的输入。 在进行参数绑定或其他转换的时候,通常需要函数对象的类型信息,例如bind1st和bind2nd要求函数对象必须继承于binary_function类型。但如果

2021-10-27 19:54:31 213

原创 C++学习笔记(Day17 函数对象)

函数对象 一个行为类似函数的对象 可以没有参数,也可以带有若干参数 其功能是获取一个值,或者改变操作的状态。 例 普通函数就是函数对象 重载了“()”运算符的类的实例是函数对象 函数对象概念图例10-13、例10-14: 使用两种方式定义表示乘法的函数对象 通过定义普通函数(例10-13) 通过重载类的“()”运算符(例10-14) 用到以下算法: template&l

2021-10-27 16:16:53 74

原创 C++学习笔记(Day17 关联容器分类和的基本功能 )

关联容器的特点和接口关联容器的特点每个关联容器都有一个键(key) 可以根据键高效地查找元素接口插入:insert 删除:erase 查找:find 定界:lower_bound、upper_bound、equal_range 计数:count关联容器概念图四种关联容器单重关联容器(set和map)键值是唯一的,一个键值只能对应一个元素多重关联容器(multiset和multimap)键值是不唯一的,一个键值可以对应多个元素简单关联容器(set和multis

2021-10-27 15:27:50 142

原创 C++学习笔记(Day17 顺序容器的插入迭代器与适配器)

顺序容器的插入迭代器与适配器顺序容器的插入迭代器 用于向容器头部、尾部或中间指定位置插入元素的迭代器 包括前插迭代器(frontinserter)、后插迭代器(backinsrter)和任意位置插入迭代器(inserter) 例: list<int> s;back_inserter iter(s);*(iter++) = 5; //通过iter把5插入s末尾 顺序容器的适配器 以顺序容器为基础构建一些常用数据结构,是对顺序容器的封装 栈

2021-10-27 10:40:42 95

原创 C++学习笔记(Day17 容器的基本功能与分类、顺序容器)

容器的基本功能与分类 容器类是容纳、包含一组元素或元素集合的对象。 基于容器中元素的组织方式:顺序容器、关联容器 按照与容器所关联的迭代器类型划分:可逆容器随机访问容器 容器的基本功能与分类 容器 unorderedset (无序集合)、unorderedmultiset(无序多重集合) unorderedmap(无序映射)、unordermultimap(无序多重映射) set(集合)、multiset(多重集合)、map(映

2021-10-27 10:16:33 140

原创 C++学习笔记(Day16 第十章迭代器)

迭代器 迭代器是算法和容器的桥梁 迭代器用作访问容器中的元素 算法不直接操作容器中的数据,而是通过迭代器间接操作 算法和容器独立 增加新的算法,无需影响容器的实现 增加新的容器,原有的算法也能适用 输入流迭代器和输出流迭代器 输入流迭代器 istream_iterator<T> 以输入流(如cin)为参数构造 可用*(p++)获得下一个输入的元素 输出流迭代器

2021-10-26 22:04:21 88

原创 C++学习笔记(Day16 泛型程序设计与C++标准模板库)

泛型程序设计的基本概念 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通用的 C++的模板为泛型程序设计奠定了关键的基础 术语:概念 用来界定具备一定功能的数据类型。例如: 将“可以比大小的所有数据类型(有比较运算符)”这一概念记为Comparable 将“具有公有的复制构造函数并可以用‘=’赋值的数据类型”这一概念记为Assignable 将“可以比大小、具有公有的复制构造函数并可以用‘=’赋值的所有数据

2021-10-26 21:41:05 118

原创 C++学习笔记(Day16 实验九)

//// Created by BoBo on 2021/10/26.//#ifndef NODE_H#define NODE_Htemplate <class T>class Node {private: Node<T>* next;public: T data; Node() {data = 0;next = NULL;} Node(const T& data, Node<T>* next = 0); .

2021-10-26 20:54:33 409

原创 C++学习笔记(Day16 排序 查找)

排序概述 排序是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。 数据元素: 数据的基本单位。在计算机中通常作为一个整体进行考虑。一个数据元素可由若干数据项组成。 关键字: 数据元素中某个数据项的值,用它可以标识(识别)一个数据元素。 在排序过程中需要完成的两种基本操作 比较两个数的大小 调整元素在序列中的位置 内部排序与外部排序 内部排序:待排序的数据元素存放在计算机内存中进行的排序过程。 外部排序:待排序

2021-10-26 18:50:54 133

原创 C++学习笔记(Day16 栈 队列)

栈类栈是只能从一端访问的线性群体,可以访问的这一端称栈顶,另一端称栈底。栈是一种后进先出的数据结构。栈示意图栈的应用举例——表达式处理栈的基本操作 初始化 入栈 出栈 清空栈 访问栈顶元素 检测栈的状态(满、空) 队列类模板队列是只能向一端添加元素,从另一端删除元素的线性群体队列的基本状态 队空 队满 一般状态 循环队列 在想象中将数组弯曲成环形,元素出队时,后继元素不移.

2021-10-26 11:07:03 93

原创 C++学习笔记(Day15 第九章 链表的概念和结点类模板)

链表的概念与结点类模板顺序访问的线性群体——链表类 链表是一种动态数据结构,可以用来表示顺序访问的线性群体。 链表是由系列结点组成的,结点可以在运行时动态生成。 每一个结点包括数据域和指向链表中下一个结点的指针(即下一个结点的地址)。如果链表每个结点中只有一个指向后继结点的指针,则该链表称为单链表。 例9-5 结点类模板Node<T> 相当于int等数据类型//Node.h #ifndef NODE_H #define NODE_H ...

2021-10-26 09:24:39 905 1

原创 C++学习笔记(Day16 第九章线性群体、数据类模板)

线性群体的概念 群体是指由多个数据元素组成的集合体。群体可以分为两个大类:线性群体和非线性群体。 线性群体中的元素按位置排列有序,可以区分为第一个元素、第二个元素等。 非线性群体不用位置顺序来标识元素。 线性群体中的元素次序与其逻辑位置关系是对应的。在线性群体中,又可按照访问元素的不同方法分为直接访问、顺序访问和索引访问。 在本章我们只介绍直接访问和顺序访问。 数组类模板 静态数组是具有固定元素个数的群体,其中的元素可以通过下标直接访问。 缺

2021-10-20 16:35:13 227

原创 C++学习笔记(Day15 第九章 函数模板、类模板)

函数模板 思考:如果重载的函数,其解决问题的逻辑是一致的、函数体语句相同,只是处理的数据类型不同,那么写多个相同的函数体,是重复劳动,而且还可能因为代码的冗余造成不一致性。 解决:使用模板 例:求绝对值函数的模板函数模板定义语法 语法形式: template <模板参数表> 函数定义 模板参数表的内容 类型参数:class(或typename) 标识符 常量参数:类型说明符 标识符 模板参数:tem..

2021-10-20 09:28:42 114

原创 C++学习笔记(Day15 实验八)

运算符重载实现静态多态性 虚函数实现动态多态性通过基类的指针和引用访问派生类对象的成员(虚函数)例题一声明Point类:有坐标_x,_y两个成员变量,对Point类重载“++”(自增)“--”(自减)运算符,实现对坐标值的改变。...

2021-10-18 20:37:21 320

原创 C++学习笔记(Day14 第八章综合实例)

问题:如何将多个不同类的账户(SavingsAccount或CreditAccount)放在统一类型的数组中利用个循环语句来操作她的deposit、withdraw或settle函数?类设计的完善对Account类做了如下改进(1)注意Account类的settle函数虚函数和抽象类的好处Date类的运算符重载UML图下次预告...

2021-10-18 16:36:51 108 1

原创 C++学习笔记(Day14 第八章 多态性——抽象类、C++11:override 与 final)

抽象类纯虚函数 纯虚函数是一个在基类中声明的虚函数,它在该基类中没有定义具体的操作内容,要求各派生类根据实际需要定义自己的版本,纯虚函数的声明格式为: virtual 函数类型 函数名(参数表) = 0; 带有纯虚函数的类称为抽象类 抽象类 带有纯虚函数的类称为抽象类: class 类名 { virtual 类型 函数名(参数表)=0; //其他成员…… } 抽象类作用 抽象类为抽象和设计的目的而声明 将有关的数据和行为组织在一个继承层次结构中,保证

2021-10-18 11:26:26 92

原创 C++学习笔记(Day13 第八章 多态性——虚函数)

虚函数问题:还记得第7章的例子吗?例7-3 类型转换规则举例//例7-3类型转换规则举例#include <iostream>using namespace std;class Base1 { //基类Base1定义public: void display() const { cout << "Base1::display()" << endl; }};class Base2: public Base1 { //公

2021-10-16 09:58:52 147

原创 C++学习笔记(Day13 第八章 多态性——运算符重载)

运算符重载的规则 思考:用“+”、“-”能够实现复数的加减运算吗? 实现复数加减运算的方法 ——重载“+”、“-”运算符 运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为。 C++ 几乎可以重载全部的运算符,而且只能够重载C++中已经有的。 不能重载的运算符:“.”、“.*”、“::”、“?:” 重载之后运算符的优先级和结合性都不会改变。 运算符重载是针对新类型数据的实际需要,对原有运算符进行适当的改..

2021-10-15 21:25:54 207

原创 C++学习笔记(Day12 派生类成员的标识与访问)

访问从基类继承的成员作用域限定当派生类与基类中有相同成员时: 若未特别限定,则通过派生类对象使用的是派生类中的同名成员。 如要通过派生类对象访问基类中被隐藏的同名成员,应使用基类名和作用域操作符(::)来限定。 例7-6 多继承同名隐藏举例#include <iostream>using namespace std;class Base1{public: int var; void fun(){ cout <&lt.

2021-10-15 09:45:08 221

原创 C++学习笔记(Day12 派生类的析构函数)

析构函数不被继承,派生类如果需要,要自行声明析构函数。 声明方法与无继承关系时类的析构函数相同。 不需要显式地调用基类的析构函数,系统会自动隐式调用。 先执行派生类析构函数的函数体,再调用基类的析构函数。#include <iostream>using namespace std;class Base1{public: Base1(int i){ cout<< "Constructing Base1 " << i <<

2021-10-14 10:19:47 109

原创 C++学习笔记(Day12 派生类的构造函数、复制构造函数)

默认情况下基类的构造函数不被继承 派生类需要定义自己的构造函数C++11规定(建议不要用)可用using语句继承基类构造函数; 只能初始化从基类继承的成员。 语法形式:using B::B;建议 如果派生类有自己新增的成员,且需要通过构造函数初始化,则派生类要自定义构造函数。若不继承基类的构造函数派生类新增成员:派生类定义构造函数初始化; 继承来的成员:自动调用基类构造函数进行初始化; 派生类的构造函数需要给基类的构造函数传递参数。单继承派生类只有一个直接基类的情况,.

2021-10-14 09:52:33 1076

原创 C++学习笔记(Day11 第七章 类的继承、继承方式)

继承的基本概念与语法单继承时派生类的定义 语法class 派生类名:继承方式 基类名 {成员声明;}class Derived: public Base{public: Derived(); ~Derived();};多继承时派生类的定义 语法class 派生类名:继承方式1 基类名1,继承方式2 基类名2,... {成员声明;}注意:每一个“继承方式”,只用于限制对紧随其后之基类的继承。class Derived:...

2021-10-14 08:31:01 267

原创 C++学习笔记(Day10 字符串 string类)

字符串常量例:“program” 各字符连续、顺序存放、每个字符占一个字节,以‘\0’结尾,相当于一个隐含创建的字符常量数组 “program”出现在表达式中,表示这一char数组的首地址 首地址可以赋给char常量指针 const char *STRING1 = "program";用字符数组存储字符串(C风格字符串)string类使用字符串类string表示字符串 string实际上是对字符数组操作的封装...

2021-10-13 09:02:40 57

原创 C++学习笔记(Day10 vector对象)

vector 对象封装任何类型的动态数组,自动创建和删除。 数组下标越界检查。 例6-18中封装的ArrayOfPoints也提供了类似功能,但只适用于一种类型的数组。vector 对象的定义vector 数组对象名(数组长度); 例: vector<int> arr(5) 建立大小为5的int数组vector 对象的使用对数组元素的引用 与普通数组具有相同形式: vector对象名 [ 下标表达式 ] vector数组对象名不表示数组首地址 获得数组长度 用siz

2021-10-12 16:46:01 319

原创 C++学习笔记(Day9 对象指针 动态内存分配)

对象指针对象指针定义形式类名 *对象指针名;例: Point a(5,10);Piont *ptr;ptr=&a;通过指针访问对象成员(等同于对象名访问对象成员)对象指针名->成员名例:ptr->getx() 相当于 (*ptr).getx();...

2021-10-12 09:40:15 223

原创 C++学习笔记(Day8 数组)

疑问:cout << "Score" << static_cast<float>(numCorrect)/NUM_QUES*100 << "%";使用static_cast<float>强制转换?例6-1 数组的定义与使用//例6-1 数组的定义与使用#include <iostream>using namespace std;int main() { int a[10], b[10]; fo

2021-10-11 14:48:37 95

原创 C++学习笔记(Day9 第六章 指针与函数)

以指针作为函数参数数据双向传递 只传首地址效率高为什么需要用指针做参数? 需要数据双向传递时(引用也可以达到此效果) 用指针作为函数的参数,可以使被调函数通过形参指针存取主调函数中实参指针指向的数据,实现数据的双向传递 需要传递一组数据,只传首地址运行效率比较高 实参是数组名时形参可以是指针 #include <iostream>using namespace std;// 例6-10 读入三个浮点数,将整数部分和小数部分分别输出//将实数x

2021-10-09 22:19:09 77

原创 C++学习笔记(Day9 第六章指针与数组)

基于范围的for循环int main() { int array[3] = {1,2,3}; for(int & e : array) { e += 2; std::cout<<e<<std::endl; } return 0; } 指针变量的定义static int* ptr = &i;*:指针运算符&:地址运算符ptr:指向int变量的指针下图为指针运算指针变量的初始化和赋值运算/例6...

2021-10-09 11:28:57 60

原创 C++学习笔记(Day8 实验五)

//静态数据成员的引用注意加上“类名::”来修饰//静态数据成员需要在类外进行单独的初始化

2021-10-08 19:25:22 42

原创 C++学习笔记(Day7 第五章 数据的共享与保护——类的静态数据成员、静态函数成员 类的友元 共享数据的保护)

疑问:Point(int x = 0, int y = 0) : x(x), y(y){}//通过构造函数的初始化列表给对象的常数据成员赋初值x(x),y(y)是什么意思? 为什么静态函数成员只能访问静态数据成员? 值传递 vs 传递引用 哪些操作会有试图改变常对象状态的危险?常引用例5-4//5_4.cpp#include <iostream>using namespace std;class Point { //Point类定义public: //外部接口

2021-10-08 09:57:58 215

原创 C++学习笔记(Day7 第五章 数据的共享与保护——标识符的作用域与可见性、对象的生存期)

标识符的作用域与可见性函数原型作用域'(' ')'局部作用域类作用域文件作用域疑问:静态成员变量和非静态成员变量的区别可见性对象的生存期(静态生存期、动态/局部生存期)例题 5-2 很重要很详细#include<iostream>using namespace std;int i = 1; // i 为全局变量,具有静态生存期。void other() { static int a = 2; static int b; ..

2021-10-07 14:30:22 185

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除