![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习
文章平均质量分 75
苏流瑾要努力变强
努力学习CPP的小菜鸡
展开
-
实现swap的操作
实现swap操作的帆帆发有多种,此博客用于更新记录一些swap方法通过临时存储值进行交换int temp = a;a = b;b = temp;通过位运算来进行交换,代码如下:a^=b;b^=a;a^=b;此处主要应用的知识是与异或有关的知识,补充如下:a ^ a=0a ^ 0=aa ^ b=b ^ a故对于上面的交换操作课解释为:a=(a ^ b);b=(a ^ b) ^ b=a ^ (b ^ b) = a ^ 0 = a;a=(a ^ b) ^ a =(a ^ a)原创 2022-03-20 09:33:44 · 501 阅读 · 0 评论 -
C++中string类型和int类型之间的相互转换
原创 2022-03-21 23:47:34 · 13053 阅读 · 2 评论 -
C++基础学习之STL-常用算法
1、 STL- 常用算法概述:算法主要是由头文件<algorithm> <functional> <numeric>组成。<algorithm>是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等<numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数<functional>定义了一些模板类,用以声明函数对象。1.1 常用遍历算法学习目标:掌握常用原创 2022-01-24 12:14:07 · 215 阅读 · 0 评论 -
C++基础学习之STL-函数对象
1 、STL- 函数对象1.1 函数对象1.1.1 函数对象概念概念:重载函数调用操作符的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数本质:函数对象(仿函数)是一个类,不是一个函数1.1.2 函数对象使用特点:函数对象在使用时,可以像普通函数那样调用, 可以有参数,可以有返回值函数对象超出普通函数的概念,函数对象可以有自己的状态函数对象可以作为参数传递示例:#include <string>//1、函数对象在使用时,可以原创 2022-01-24 12:02:00 · 80 阅读 · 0 评论 -
C++基础学习之map/multimap容器详解
1、map/ multimap容器1.1、map基本概念简介:map中所有元素都是pairpair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)所有元素都会根据元素的键值自动排序本质:map/multimap属于关联式容器,底层结构是用二叉树实现。优点:可以根据key值快速找到value值map和multimap区别:map不允许容器中有重复key值元素multimap允许容器中有重复key值元素1.2 、map构造和赋值功能描述:对map原创 2022-01-24 11:54:03 · 341 阅读 · 0 评论 -
C++基础学习之set/multiset容器详解
1、set基本概念简介:所有元素都会在插入时自动被排序本质:set/multiset属于关联式容器,底层结构是用二叉树实现。set和multiset区别:set不允许容器中有重复的元素multiset允许容器中有重复的元素2 、set构造和赋值功能描述:创建set容器以及赋值构造:set<T> st; //默认构造函数:set(const set &st); //拷贝构造函数:赋值原创 2022-01-24 11:43:52 · 274 阅读 · 0 评论 -
C++基础学习之list容器详解
1、list基本概念功能:将数据进行链式存储链表:(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。链表的组成:链表由一系列结点组成结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域STL中的链表是一个双向循环链表由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器list的优点:采用动态存储分配,不会造成内存浪费和溢出链表执行插入和删除操作十分方便,修改指针即可,不需转载 2022-01-24 11:08:32 · 918 阅读 · 1 评论 -
C++基础学习之stack、queue容器详解
1、stack基本概念概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口。栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈中进入数据称为 — 入栈 push栈中弹出数据称为 — 出栈 pop生活中的栈:2 、stack 常用接口功能描述:栈容器常用的对外接口构造函数:stack<T> stk; //stack采用模板类实现, sta原创 2022-01-24 10:50:07 · 177 阅读 · 0 评论 -
C++基础学习之deque容器详解
1 、deque容器基本概念功能:双端数组,可以对头端进行插入删除操作deque与vector区别:vector对于头部的插入删除效率低,数据量越大,效率越低。deque相对而言,对头部的插入删除速度回比vector快。vector访问元素时的速度会比deque快,这和两者内部实现有关。deque内部工作原理:deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间deque容器的迭代器也原创 2022-01-22 21:06:02 · 815 阅读 · 0 评论 -
C++基础学习之vector容器详解
1、vector容器基本概念功能:vector数据结构和数组非常相似,也称为单端数组vector与普通数组区别:不同之处在于数组是静态空间,而vector可以动态扩展动态扩展:并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间。vector容器的迭代器是支持随机访问的迭代器2 、vector构造函数功能描述:创建vector容器函数原型:vector<T> v; //采用模原创 2022-01-22 20:52:42 · 602 阅读 · 0 评论 -
C++基础学习之STL
1、STL由来长久以来,软件界一直希望建立一种可重复利用的东西C++的面向对象和泛型编程思想,目的就是复用性的提升大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作为了建立数据结构和算法的一套标准,诞生了STL2、STL基本概念STL(Standard Template Library,标准模板库)STL 从广义上分为: 容器(container) 算法(algorithm) 迭代器(iterator)容器和算法之间通过迭代器进行无缝连接。STL 几原创 2022-01-22 20:32:35 · 151 阅读 · 0 评论 -
C++基础学习之模板类的语法
1、模板的概念模板就是通用的模具,可以大大的提高复用性,例如生活中的模板,一寸照片的模板:PPT模板:从上面也可以总结出模板的特点就是:模板不可以直接使用,他只是一个框架模板的通用并不是万能的2 、函数模板C++另一种编程思想称为 泛型编程,主要利用的技术就是模板C++提供两种模板机制:函数模板和类模板2.1、函数模板语法函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。语法:template<typename T&原创 2022-01-22 20:16:51 · 480 阅读 · 0 评论 -
C++基础学习之String字符串操作详解
C++基础之string中函数操作详解原创 2022-01-21 12:27:05 · 2937 阅读 · 1 评论 -
C++中的Lambda表达式
在这里插入代码片```[转载的大佬的表达式详解](https://blog.csdn.net/u010984552/article/details/53634513?utm_source=app&app_version=4.19.0&code=app_1562916241&uLinkId=usr1mkqgl919blen)转载 2021-11-29 19:58:38 · 79 阅读 · 0 评论