自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++文件系统

filesystem #include <filesystem> #include <iostream> using namespace std; int main() { //打开文件夹 filesystem::path url("file"); //判断当前文件夹是否存在 if (!filesystem::exists(url)) { cout << "相对路径文件夹不存在" << endl; } //创建单层文件夹,路径存在不做其他

2022-01-10 16:23:43 285

原创 C++时间管理和随机数

时间段 #include <chrono> // duration TYPEDEFS typedef duration<long long, nano> nanoseconds; //纳秒 typedef duration<long long, micro> microseconds; //微秒 typedef duration<long long, milli> milliseconds; //毫秒 typedef duration<long

2022-01-06 12:05:13 570

原创 C++正则表达式

regex_match regex_replace regex_search #include <iostream> #include <regex> #include <string> using namespace std; //1.regex_match正则匹配 void test_regex_match() { //满足:true 不满足:false regex email("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\

2022-01-04 11:41:28 283

原创 C++智能指针

shared_ptr 1.get()函数:返回数据类型指针的引用 2.use_count()函数:返回管理对象的指针数 3.swap()函数:交换管理对象 4.reset()函数:重置管理对象 5.make_shared<>()函数:构建shared对象 #include <iostream> #include <memory> using namespace std; class custom { public: void print() { co

2022-01-04 10:22:58 320

原创 C++STL算法

STL查找算法 1.基本查找 (1)find:区间查找 (2)find_if:条件查找 (3)find_firt_of: 查找区间第一次出现值 (4)adjacent_find: 查找第一次重复的数 (5)search:子序列查找 (6)search_n: 子序列查找出现次数 2.统计查找 (1)count: 区间统计 (2)count_if: 条件统计个数 (3)equal:比较 3.有序查找 (1)binary_search:二分查找 (2)upper_bound: 查找最后

2022-01-03 18:06:35 251

原创 C++STL迭代器

迭代器 1.迭代器:类中类,通过运算符的重载,用类中类的对象遍历容器 2.迭代器分类: (1)正向迭代器:iterator(begin(); end();) (2)反向迭代器:reverse_iterator(rbegin(); rend();) (3)常正向迭代器:const_iterator(cbegin(); cend();) (4)常反向迭代器:const_reverse_iterator(crbegin(); crend();) 3.按功能分类: (1)正向迭代器 (2)双向迭代

2021-12-30 21:31:57 462

原创 C++STL容器(三)

集合 1.数据自带排序 2.数据具有唯一性(单集合) #include <iostream> #include <set> #include <string> #include <ctime> #include <bitset> using namespace std; //基本操作 void testSet() { srand((unsigned int)time(nullptr));//随机数种子 set<int> se

2021-12-20 18:51:05 370

原创 C++STL容器(二)

链表 #include <iostream> #include <string> #include <list> #include <functional> //仿函数less和greater头文件 using namespace std; //list基础数据类型操作 void testList() { list<string> strlist; //尾插入 strlist.push_back("string1"); strlist

2021-12-18 23:53:30 986

原创 C++STL容器(一)

定长数组 #include <iostream> #include <string> #include <array> using namespace std; template <class _Ty,size_t size> class Myarray { public: Myarray() { memroy = new _Ty[size]; } _Ty& operator[](int index) { return memro

2021-12-16 13:52:57 905

原创 C++模板

函数模板 1.把类型当作未知量 2.语法 template <typename _Ty> _Ty function(_Ty a,_Ty b) { return a>b?a:b; } template <class _Ty1,class _Ty2> void print(_Ty1 a,_Ty2 b) { cout<< a << b <<endl; } 3.调用 (1)隐式调用 (2)显示调用:函数名<类型名

2021-12-13 16:46:38 792

原创 C++异常处理

基本异常处理 1.异常处理机制:暂缓问题处理,不在当前函数中处理,在它调用者中处理 2.任何东西都可以为异常,错误只是异常的一种 3.异常一旦被抛出,不做处理,如果引发异常,会调用默认abort终止程序 4.捕获和处理异常 (1)throw抛出异常 (2)try(检查,捕获)和catch(处理异常)一起出现,{}不可省略 (3)一个try可以对相应多个catch,只能执行一个匹配项 (4)不能存在两个相同的异常处理类型 (5)异常处理中char和int类型不会互相转换 (6)catch(

2021-12-10 14:18:52 531

原创 C++IO流

流:诺干字节数据从一端到另一端 流类体系: 1.流对象 2.流运算符 << >> 输入输出流 1.ostream 类 (1)cout可重定向为文件 (2)cerr 不能重定向为文件 (3)clog 可重定向为文件 (4)字符类的处理 (5)格式控制字符:#include <iomanip> *设置有效位数:setprecision(int) *设置精度:fix结合setprecision(int) 2.istream 类 ci...

2021-12-07 22:41:20 585

原创 C++虚函数和多态

虚函数和虚函数表 1.用virtual修饰的成员函数叫虚函数 2.空的类或者结构体占用1个字节,若只有虚函数,则占4个字节(32位) 3.虚函数表:一个指针存储所有虚函数的首地址 #include <iostream> using namespace std; class A { public: protected: }; class B { public: virtual void print(); protected: }; class C { public: int num;

2021-12-05 21:19:13 238

原创 C++继承和派生

继承方式与权限问题 1.继承的写法 2.继承(子类中没有产生新的属性或者行为)派生(子类中有新的属性和行为产生) 3.继承实质与权限问题 (1)实质:父类的数据和成员子类有一份 (2)权限问题:继承方式只会增强父类属性在子类中的权限显示(父类的私有属性不能直接访问) 4.私有继承再继承无意义 5.子类构造无参函数,父类必须要有无参的构造函数 #include <iostream> #include <string> using namespace std; clas

2021-11-30 21:41:53 205

原创 C++类的组合

1.以另一个类的对象为数据成员,必须采用初始化参数列表的写法 #include <iostream> #include <string> using namespace std; class Boy { public: Boy(string name, int age) :name(name), age(age){} void printBoy() { cout << name << "\t" << age << endl

2021-11-27 20:21:21 755

原创 C++运算符重载

const成员 1.const数据成员 (1)const类型变量为只读,不可修改 (2)采用初始化参数列表方式初始化 2.const成员函数 3.const对象 static成员 友元

2021-11-25 22:12:28 444

原创 C++特殊成员

const成员 1.const数据成员 (1)const类型变量为只读,不可修改 (2)采用初始化参数列表方式初始化 2.const成员函数 3.const对象 static成员 友元

2021-11-23 16:01:16 584

原创 自实现字符串的追加和比较

#include <iostream> #include <string> #include <cstring> using namespace std; class mystring { public: mystring() = default; mystring(const char* pstr) { str = new char[strlen(pstr) + 1]; strcpy(str, pstr); } ~mystring()//析构 { .

2021-11-21 16:11:54 596

原创 C++构造与析构

构造函数 1.构造函数样式 (1)函数名和类名相同 (2)没有返回值 (3)若无构造函数,任何类中都存在一个默认的构造函数 ①默认的构造函数都是无参的 ②若有构造函数,默认构造函数不存在 (4)delete可以用来删除默认函数 (5)使用默认构造函数,用default说明 (6)构造函数在构造对象的时候调用(初始化参数列表) 构造函数名(参数1,参数2,参数3,...):成员1(参数1),成员2(参数2),成员3(参数3),...{} (7)允许构造函...

2021-11-21 14:29:44 550

原创 C++类和对象(附C语言与C++链表)

类和对象的基本概念 1.类:一系列事物的抽象,万物皆可为类 (1)属性:事物的特征/数据类型的描述 (2)行为:事物的操作/函数描述 2.对象:类的具体化/类的实例化 类的定义 1.创建语法 class 类名 { //权限限定词 public: //共有属性(类外的接口) protected: //保护属性 private: //私有属性 }; 2.权限限定词的作用 (1)类外只能访问共有属性。类外访问类内的数据,只能通过对象访问,static成员除外。 (2)

2021-11-18 23:06:11 1100 2

原创 C++和C语言区别(二)附二级指针的动态内存申请

结构体区别 1.定义结构体与C语言一致 2.定义变量可省略关键字struct 3.C++结构体中允许函数存在(C++在没有写构造函数和权限限定的时候,用法和C语言一致) (1)函数可以直接在结构体中实现,也可在结构体中声明,在结构体外实现, (2)结构体中函数可以直接访问结构体中数据 (3)学会调用: 对象(结构体变量).成员 对象指针->成员 (*对象指针).成员 #define _CRT_SECURE_NO_WARNING...

2021-11-16 18:46:42 550 1

原创 C++与C的区别(作业)

头文件的区别 1.C++中创建源文件后缀为.cpp,C语言中创建源文件后缀为.c,头文件保持不变,后缀为.h。 2.包含自己的头文件,C语言与C++无区别。包含库目录,C语言中加后缀.h,C++则可以去掉.h加个c,例如#include <stdio.h>等价与#include <cstdio>。 命名空间引入 命名语法 namespace 空间名{ } 在C++中,可以增加标识符的使用率,在C语言中,同一个作用域中无法定义相同的标识符。 空间声明的函数可以在外部实

2021-11-14 11:33:02 691 1

空空如也

空空如也

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

TA关注的人

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