C++相关知识点
文章平均质量分 52
学啊学
小渝同学
一人一晚一奇迹 尸体竟是我自己
展开
-
C++中 ‘\n‘ 与 endl的区别
C++中显示引号包含的字符串时,通常使用\n换行,而在其他情况下则使用控制符 endl。对于大多数人来说输入endl更加方便cout << "xiao xiao xiao \n";int a = 10;cout << a << endl;区别:endl确保程序继续运行前,刷新并输出(将其立即显示在屏幕上)’\n‘ 不能提供这样的保证,这意味着在某些系统中,有时候在输入信息后才会显示。总结:且在C++中使用 endl 代替 ‘\n’ 一般是个好原创 2021-04-07 21:45:24 · 287 阅读 · 0 评论 -
using 与名字空间的意义
命名空间的意义:避免变量或函数重命名的问题 ,例如:大型项目开发过程中 全局变量或函数重名,但如果每个人都有自己的名字空间便可以解决问题。C++中std空间using namespace std;意义:这个using编译指令使得std命名空间中的所有名称都可以使用。但是一次性导入全部,破坏了原本存在的意义如此书写方便小学习过程使用但是,如此在大型项目中会存在潜在的问题,更好的做法是,只使用名称可用,这可以通过using声明来实现。using std::cout;using std::原创 2021-04-07 21:44:15 · 118 阅读 · 0 评论 -
STL - 常用算法
STL - 常用算法概述:算法主要头文件algorihtm functional numeric 组成algorithm是所有STL头文件中最大的一个,范围涉及比较,交换,查找,遍历操作,复制,修改等等numeric 体积很小,只包含几个在序列上面进行简单数学运算的模板函数functional 定义了一些模板类,以声明函数对象文章目录STL - 常用算法1. 常用遍历算法1. for_each2. transform2. 常用查找算法1. find2. find_if3. adjacent_原创 2021-02-23 23:35:41 · 189 阅读 · 0 评论 -
STL - 函数对象(仿函数)
STL - 函数对象(仿函数)文章目录STL - 函数对象(仿函数)1. 函数对象1. 函数对象概念2. 函数对象使用2. 谓词1. 谓词概念2. 一元谓词3. 二元谓词3. 内建函数对象1. 内建函数对象意义2. 算术仿函数3. 关系仿函数4. 逻辑仿函数1. 函数对象1. 函数对象概念概念:重载函数调用重载符的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数本质:函数对象(仿函数)是一个类,不是一个函数2. 函数对象使用特点:函数对象在使用时,可以原创 2021-02-23 19:48:45 · 75 阅读 · 0 评论 -
STL常用容器之 map multimap
STL常用容器之 map multimap文章目录STL常用容器之 map multimap1. map multimap容器1. map 基本概念2. map 构造和赋值3. map 大小和交换4. map 插入和删除5. map 查找和统计6. map 容器排序1. map multimap容器1. map 基本概念简介:map中所有元素都是pairpair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)所有元素都会根据元素的键值自动排序本质:map/m原创 2021-02-23 15:49:02 · 84 阅读 · 0 评论 -
STL常用容器之 set multiset
STL常用容器之 set multiset1. set multiset容器1. set基本概念所有元素插入时,自动排序本质:set/multiset属于关联式容器,底层结构是二叉树实现。set和multiset区别:set中不允许有重复的元素multiset允许容器中有重复的元素2. set构造和赋值函数原型:构造:set<T> st;//默认构造set(const set& st);//拷贝构造赋值:str& operator=(cons原创 2021-02-23 15:10:03 · 302 阅读 · 1 评论 -
STL常用容器之 list
STL常用容器之 list文章目录STL常用容器之 list1. list容器1. list容器的基本概念2. list 构造函数3. list 赋值和交换4. list 大小操作5. list 插入和删除6. list 数据存取7. list 反转和排序8. 排序案例1. list容器1. list容器的基本概念功能:将数据进行链式存储链表(list)是一种物理存储单元上非连续存储结构,数据元素的逻辑顺序是通过链表中的指针连接进行实现的链表的组成:链表由一堆结点组成节点的组成:数据域与指针域原创 2021-02-23 12:34:33 · 314 阅读 · 0 评论 -
STL常用容器之 stack,queue
STL常用容器之 stack,queue文章目录STL常用容器之 stack,queue1. stack容器1. stack基本概念2. stack常用接口2. queue容器1. queue基本概念2. queue常用接口1. stack容器1. stack基本概念概念:stack是一种先进后出(First In Last Out ,FILO)的数据结构,只有一个出口。栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈中进入数据被称为: 入栈push栈中弹出数据被称为:出栈pop原创 2021-02-23 11:43:15 · 187 阅读 · 0 评论 -
STL常用容器 之deque
文章目录STL常用容器 之deque1. deque容器1. deque容器基本概念2. deque构造函数3. deque赋值函数4. deque大小操作5. deque插入和删除6. deque数据存取7. deque 排序STL常用容器 之deque1. deque容器1. deque容器基本概念功能:双端数组,可以对头端进行插入删除操作deque与vector区别:vector对于头插入与删除效率低,数据量越大,效率越低deque相对而言,头插入与删除会比vector块vector原创 2021-02-22 20:07:06 · 86 阅读 · 0 评论 -
STL常用容器 之vector
STL常用容器 之vector文章目录STL常用容器 之vector1. vector容器1. vector基本概念2. vector构造函数3. vector赋值函数4. vector容量与大小5. vector插入和删除6. vector数据存取7. vector互换容器8. vector预留空间1. vector容器1. vector基本概念功能:vector数据结构和数组非常相似,也称为单端数组区别:数组是静态空间,而vector是动态扩展动态扩展:并不是原空间之后接续新空间,而是找更大原创 2021-02-22 17:49:36 · 68 阅读 · 0 评论 -
STL常用容器之 string
STL常用容器之 string文章目录STL常用容器之 string1. string容器1. string的基本概念2. string构造函数3. string赋值操作4. string字符串拼接5. string查找和替换6. string字符串比较7. string字符存取8. string插入和删除9. string子串1. string容器1. string的基本概念本质:string是C++风格的字符串,而string本质上是一个类string 和char 区别*:char* 是一原创 2021-02-22 16:24:49 · 415 阅读 · 0 评论 -
C++ STL简单介绍
文章目录STL简单介绍1. STL的诞生2. STL基本概念3. STL六大组件4. STL中容器 算法 迭代器容器算法迭代器5. 容器算法迭代器初识1. vector存放内置数据类型2. Vector存放自定义数据类型3. Vector容器嵌套容器STL简单介绍1. STL的诞生长久以来,软件界一直希望建立一种可重复利用的东西C++的面向对象和泛型编程思想,目的就是复用性的提升大多数情况下,数据结构和算法都未能有一套标志,导致被迫大量重复工作为了建立数据结构和算法的一套标准,诞生了STL原创 2021-02-22 12:01:58 · 215 阅读 · 1 评论 -
C++ 模板(函数模板与类模板)
C++ 模板文章目录C++ 模板1. 模板的概念2. 函数模板1. 函数模板语法2. 函数模板的注意事项3. 函数模板案例4. 普通函数与函数模板的区别5. 普通函数与模板函数的调用规则6. 模板的局限性3. 类模板1. 类模板语法2. 类模板与函数模板区别3. 类模板中成员函数创建时机4. 类模板对象做函数参数5. 类模板与继承6. 类模板成员函数类外实现7. 类模板分文件编写8. 类模板与友元9. 类模板案例1. 模板的概念模板就是建立通用模具,大大提高复用性。例如:PPT模板C++中模板:原创 2021-02-21 19:26:41 · 534 阅读 · 0 评论 -
C++ 文件读写 相关知识点
文章目录文件操作1. 文本文件1. 写文件打开方式2. 读文件4种读取方式2. 二进制文件1. 写文件2. 读文件3. 二进制读写案例文件操作程序运行时产生得数据都属于临时数据,程序一旦运行结束都会被释放而通过文件可以将数据持久化C++中对文件操作需要包含头文件<fstream>文件类型分为两种:文本文件 :文件以文本得ASII码形式存储在计算机中二进制文件:文件以二进制形式存储在计算机中,用户一般不能直接读懂它们操作文件得三大类:ofstream:写操作ifstrea原创 2021-02-20 10:43:31 · 153 阅读 · 0 评论 -
C++(重点) 类与对象(15320字附带源码图片)
文章目录C++ 类和对象1. 封装1. 封装的意义封装的意义一:封装的意义二: (三种权限)2. struct 和 class区别3. 成员属性设置为私有2. 对象的初始化和清理1. 构造函数和析构函数2. 构造函数的分类及调用3. 拷贝构造调用规则4. 构造函数调用规则5. 深拷贝与浅拷贝6. 初始化列表7. 类对象作为类成员8. 静态成员3. C++对象模型和this指针1. 成员变量和成员函数分开储存2. this指针概念3. 空指针访问成员函数4. const修饰成员函数4. 友元1. 全局函数做友原创 2021-02-20 00:03:14 · 965 阅读 · 2 评论 -
C++ 引用详解
C++ 引用文章目录C++ 引用1. 引用的基本使用2. 引起的注意事项3. 引用做函数参数(重点)4. 引用做函数返回值5. 引用的本质6. 常量引用1. 引用的基本使用作用:给变量起别名语法:数据类型 &别名 = 原名例:#include <iostream>using namespace std;int main(){ int a = 10; //创建引用 int &b = a; cout << "事前-----原创 2021-02-10 07:56:18 · 1932 阅读 · 0 评论 -
C++ 内存的四个分区(代码区,全局区,栈区,堆区)
C++ 内存的四个分区(代码区,全局区,栈区,堆区)文章目录C++ 内存的四个分区(代码区,全局区,栈区,堆区)4个区域程序运行前程序运行后4个区域c++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理(注释不算)全局区:存放全局变量和静态变量以及常量栈区: 由编译器自动分配释放,存放函数的参数值,局部变量等堆区: 由程序员分配和释放,如果程序员不释放,程序结束时由操作系统回收内存四区的意义:不同区域存放的数据,赋予不同的生命周期,给我们更大原创 2021-02-09 19:05:06 · 783 阅读 · 0 评论 -
C++ 结构体定义与使用
结构体定义和使用通过结构体创建变量的三种方式struct 结构体名 变量名struct 结构体名 变量名 = {成员1值,成员2值…}定义结构体时顺便创建变量(这种少用)示例:#include <iostream>#include <string>using namespace std;//1. 创建学生数据类型 : 学生包括(姓名,年龄,分数)struct Stu{ //成员列表 //姓名 string name; //原创 2021-02-07 20:33:05 · 588 阅读 · 0 评论 -
C++ const与指针
const与指针const修饰指针:const int *p (指针的指向可以改)const修饰常量:int* const p2 (值可以改)const修饰指针和常量:const int* const p3 (都不能改)小技巧:看const最近的是 * 还是 p(变量)#include <iostream>using namespace std;int main(){ //1. const修饰指针 常量指针 int a = 10, b =10; cons原创 2021-02-07 19:32:21 · 73 阅读 · 0 评论 -
C++ 二维数组名的各种作用
二维数组名的作用二维数组大小:二维数组一行大小:二维数组元素大小:二维数组行数:二维数组列数:二维数组首地址:…#include <iostream>using namespace std;int main(){ int arr[2][3] = { {1,2,3}, {4,5,6} }; cout << "二维数组大小: " << sizeof(arr) <<endl;原创 2021-02-07 18:58:42 · 127 阅读 · 0 评论 -
C++ 冒泡排序.cpp
冒泡排序.cpp特点:对数据的有序性敏感,一旦排序完成就能停止。时间复杂度: 最优:O(n) 最差:O(n^2)解读:冒泡算法核心点在于 flag 。可以提前结束排序,若没有这个标志位 ,这个算法没有任何优点。#include <iostream>#include <cstring>using namespace std;int main(){ // 待排序数组 int arr[9]={3,5,2,6,7,8,1,4,0}; int len = size原创 2021-02-07 18:16:39 · 268 阅读 · 0 评论 -
C++ 中 三目运算符 特殊用法
三目运算符作用: 通过三目运算符实现简单的判断语法:表达式1?表达式2:表达式3解释:如果表达式1为真,执行表达式2,并返回表达式2的结果如果表达式1为假,执行表达式3,并返回表达式3的结果示例1:#include <iostream>using namespace std;int main(){ int a = 10, b = 20, c = 30; c = a > b ? a : b; // b的值被赋值给c cout <<原创 2021-02-07 17:06:21 · 275 阅读 · 0 评论 -
C++中 前++ 与 后++ 的区别
前++ 与 后++ 的区别#include <iostream>using namespace std;int main(){ //相同点 cout << "后置递增" << endl; int a = 10; a++; cout << a << endl; cout << "前置递增" << endl; int b = 10; ++b; cou原创 2021-02-07 16:38:00 · 541 阅读 · 0 评论 -
C++的科学计数法
C++的科学计数法一般不会这样写,看懂即可#include <iostream>using namespace std;int main(){ float f = 3e2; //3 * 10^2 cout << "f = " << f <<endl; //300 float f1 = 3e-2; //3 * 0.1^2 cout << "f1 = " << f1 <<endl;原创 2021-02-07 16:04:51 · 3653 阅读 · 0 评论 -
C++ 初始的通用模板
在平时写c++代码时,通常粘贴上这几行便可#include <iostream>using namespace std;int main(){ system("pause"); return 0;}原创 2021-02-07 15:57:45 · 84 阅读 · 0 评论 -
C++的63个关键字
C++的63个关键字asmdoifreturntypedefautodoubleinlineshorttypeldbooldynamic_castintsignedtypenamebreakelselongsizeofunioncaseenummutablestaticunsignedcatchexplicitnamespacestatic_castusingcharexportnewstructvir原创 2021-02-07 15:38:35 · 100 阅读 · 0 评论 -
C++学习
C++目录文章目录C++目录一 介绍特点:二 第一个C++程1.文件扩展名2.头文件3. using namespace std;//增加了名字空间4. 输入输出函数5. 编译器6. 练习1. Hello2.求最大,最小,平均三 名字空间1.为什么需要名字空间2.定义名字空间3.使用名字空间4.名字空间的嵌套5.匿名空间四. 数据类型1.布尔类型2.结构(struct)联合(union)3. 枚举(enum)4. void*5. 字符串五 函数1. 函数重载函数重载 注意:2. 默认参数3. 内联函数六原创 2021-01-05 20:40:51 · 1500 阅读 · 0 评论