![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Cpp
Cpp
H.T.Yuan
这个作者很懒,什么都没留下…
展开
-
C++ STL-常用算法
本文主要基于黑马教程,对STL常用算法做简单整理与实现代码包含头文件如下:#include<algorithm>//涉及比较、交换、查找、遍历、复制等#include<functional>//定义了一些模板类,用以声明函数对象#include<numeric>//简单运算1.常用遍历算法for_each//遍历容器transform//搬运容器到另一个中1.1 for_each函数原型:for_each(iterator beg, iter.原创 2021-01-23 16:36:44 · 162 阅读 · 0 评论 -
C++ 修改默认排序方式(sort、set、map)
bool myCompare(Person &p1, Person &p2){ if(p1.m_Age == p2.m_Age) { return p1.m_Height > p2.m_Height; } return p1.m_Age < p2.m_Age;}sort(myCompare);先对年龄进行升序排序,当年龄相同时,按照身高进行降序排序...原创 2021-01-22 22:09:52 · 2297 阅读 · 0 评论 -
C++数据结构之list 链表
基本概念功能:将数据进行链式存储链表是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的链表由一系列结点组成,一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。数组和链表区别:STL中的链表是一个双向循环链表:特点是:1)指针域不仅有指向后向结点的next 还有指向前向结点的prev2)最后结点的next不是指向Null,而是第一个结点;第一个结点的prev不是指向Null,而是最后一个结点;3)push_front()、pop_fr原创 2021-01-22 22:07:08 · 356 阅读 · 0 评论 -
C++ 巧用swap收缩内存空间
代码:void test03(){ vector<int> v; for(int i = 0; i < 10000; i++) { v.push_back(i); } cout << "v.容量为:"<<v.capacity()<<endl; cout << "v的大小为:"<<v.size()<<endl; v.resize(3); //重原创 2021-01-22 16:38:39 · 573 阅读 · 0 评论 -
C++黑马模板汇总文档
https://blog.csdn.net/ClaireSy/article/details/108423061转载 2021-01-22 15:40:04 · 314 阅读 · 0 评论 -
C++泛型编程之string容器
1.基本概念string是C++风格字符串,本质是一个类string和char*的区别在于:char *是一个指针,而string是一个类,类内部封装了char *管理这个字符串,是一个char*型的容器。string的特点在于其内部封装了很多成员方法,例如:查找、拷贝、删除、替换和插入。string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责。2.构造函数构造函数原型:string(); //默认构造 创建一个空字符串,例如string str;st原创 2021-01-22 14:11:41 · 129 阅读 · 0 评论 -
C++之STL(一)初识
1.基本概念Standard Template Library 标准模板库容器、算法、迭代器、仿函数、适配器、空间配置器容器和算法之间通过迭代器进行无缝连接技术基于模板实现容器:各种数据结构,vector、list、deque、set、map等算法:如sort、find、copy等迭代器:扮演容器算法间的胶合剂仿函数:行为类似函数、可作为算法的某种策略适配器:一种用来修饰容器或仿函数或迭代器接口的东西空间配置器:负责空间的配置和管理1.1容器、算法、迭代器STL容器分为序列式容原创 2021-01-20 20:13:22 · 76 阅读 · 0 评论 -
C++泛型编程之类模板
1.基本概念基本格式为:template <class Type>类示例代码template <class NameType, class AgeType>class Person{public: Person(NameType name, AgeType age) { this->m_Age = age; this->m_Name = name; } void Show() {原创 2021-01-20 15:33:50 · 92 阅读 · 0 评论 -
C++泛型编程之函数模板
1.基本概念模板是泛型编程的基础,包括函数模板和类模板两类其作用是建立一个通用函数,该函数的返回值和形参类型不具体而用一个虚拟类型代表,达到简化的目的语法template<typename T>T:为通用数据类型如要实现两数交换的函数 int类型的写法如:void swapInt(int &a, int &b){ int temp = a; a = b; b = temp;}而如果要交换doubule 就不适用,需更改为:void原创 2021-01-19 23:12:03 · 78 阅读 · 0 评论 -
C++文件操作(黑马61-64)
1.基本概念文件可以将数据持久化头文件1.文本文件 ASCII 2.二进制文件ofstream:写操作 ifstream:读操作 fstream:读写操作(out inpput是相对于程序来讲的2.文本文件2.1写文件步骤:1.包含头文件 #include 2.创建流对象 ofstream ofs;3.打开文件 ofs.open("文件路径“,打开方式)4.写数据 ofs<<"写入的数据”5.关闭文件ofs.close();打开方式如图demo://1.包含原创 2021-01-13 14:00:37 · 100 阅读 · 0 评论 -
C++多态
1.基本概念多态是C++面向对象三大特性之一1)静态多态:函数重载和运算符重载属于静态多态,复用函数名2)动态多态:派生类和虚函数实现运行时多态二者区别在于静态多态的函数地址早绑定-编译阶段确定函数地址;动态多态的函数地址晚绑定-运行阶段确定函数地址demo://动物类class Animal{public: //虚函数 virtual void speak() { cout <<"动物在说话"<< endl;原创 2021-01-12 16:44:06 · 1592 阅读 · 1 评论 -
C++继承
1.基本语法#include <iostream>using namespace std;//继承好处:减少重复代码//语法: class 子类 :继承方式 父类//也称 派生类 基类class BasePage{public: void header() { cout<<"首页、公开课、登录、注册"<<endl; } void footer() { cout<<"帮助中心原创 2021-01-12 00:28:05 · 105 阅读 · 0 评论 -
C++运算符重载
(1)加法运算符重载:#include <iostream>#include <cstring>using namespace std;//运算符重载//对于内置数据类型,编译器已经预置好// 1.成员函数实现重载class Person{public:/* //本质 Person p3 = p1.operator+(p2) Person operator+(Person &p) { this->m_A +=原创 2021-01-11 16:53:56 · 170 阅读 · 0 评论 -
《C++ Primer Plus》编程练习第七章 解析与答案
#include <iostream>using namespace std;double average(double x,double y);int main() { cout << "Please Input 2 num; 0 terminated\n"; double x = 0,y = 0; double result = 0; while (cin>>x>>y) { if(x*y...原创 2021-01-03 21:43:45 · 195 阅读 · 0 评论 -
《C++ Primer Plus》编程练习第六章 解析与答案
#include <iostream>#include <fstream>using namespace std;int main() { char input; cin.get(input); while (cin.get(input)&&input != '@') { if (!isdigit(input)) { if(isupper(input)) ...原创 2020-12-29 20:29:51 · 155 阅读 · 0 评论 -
《C++ Primer Plus》编程练习第五章 解析与答案
#include <iostream>using namespace std;int main(){ int num1,num2,sum = 0; cout << "Enter num1:\n"; cin >> num1; cout << "Enter num1:\n"; cin >> num2; for (int i = num1;i<=num2;i++) { ...原创 2020-12-28 20:32:58 · 205 阅读 · 0 评论