C++
文章平均质量分 67
&矢志不渝^O^
这个作者很懒,什么都没留下…
展开
-
C++常见的几种容器(一)
1.string容器string是一个类,类的内部封装了char*,管理这个字符 串,是char*型的容器。string类内部封装了很多成员方法,例如查找find,拷贝copy,删除delete,插入insert。assign是容器的一种赋值字符串的方法。append是容器的一种合并字符串的方法。find是从左往右查找,rfind是从右往左查找replace替换从下标为2的位置起 三个位置替换为 000。replace(int pos,int n,const string &st原创 2022-03-25 23:51:46 · 940 阅读 · 0 评论 -
C++常见的几种容器(二)
今天我要说的是C++中STL常见的几种容器之vector。首先vector的使用必须包含头文件#include<vector>.其次vector是一种动态数组。也有很多常规的方法,如push_back, pop_back, insert, erase等。用法如下图:(1) 使用reverse将元素翻转:需要头文件#include<algorithm> reverse(vec.begin(),vec.end());(2)使用sort排序:需要头文件#include<a原创 2022-03-26 00:45:58 · 427 阅读 · 0 评论 -
C++常见的几种容器(三)
今天是关于C++STL常见的几种容器之deque。和前面的几种容器相同,deque容器要包含头文件#include<deque>.deque给人的感觉和数据结构中的队列一样(实际上并不完全相同)。和前面两种容器类似,deque容器也有insert,erase等方法。下面的内容主要是deque和其他两种容器不同的地方(由于这篇文字是博主在手机上打的,所以就没有加上截图,纯手打代码):d.begin()返回指向第一个元素的迭代器 d.end()返回指向最后一个元素下一个位置的迭代器dequ原创 2022-03-26 01:04:27 · 215 阅读 · 0 评论 -
C++常见的几种容器(四)
今天的文章是关于c++STL常见几种容器之stack和queue容器。由于这两个容器相对较简单,所以合成一篇文章来说。相信学过数据结构的朋友都了解过栈和队列的性质,这里就不多讲了。这两种容器和前面几种容器方法其实差不多,有pop,push,size等方法。下面列举了常见的方法:...原创 2022-03-26 13:06:27 · 682 阅读 · 0 评论 -
C++常见的几种容器(五)
今天主要关于C++中STL常见的几种容器之list容器。此容器是与vector具有相同重要性的一种容器。此两种容器是所以容器中应用最多的。接下来我们来详细讲解一下这个容器吧原创 2022-03-27 14:36:15 · 380 阅读 · 0 评论 -
C++常见的遍历算法
在结束完前面的容器学习后,紧随其后的就是C++种常见的算法啦,学完C++这几种常见的算法后,会发现我们在学数据结构时用C语言写的算法相比,C++这几种算法真的节省了不少代码(对于博主这种喜欢走捷径的人来说无疑是一件好事)。当然这里不是说数据结构里的那些算法就没有用,那是我们C++算法的底层本质,还是有必要去好好深究的。下面就让我们来看看这第一种算法——遍历算法吧1.for_each用法代码:2.transform:用法代码:3.find:用法代码:自定义类型的查找:.原创 2022-03-29 22:42:31 · 1142 阅读 · 0 评论 -
C++常见的查找算法
在介绍完遍历算法后,让我们来说说C++常见的查找算法吧1.find_if用法代码:2.adjacent_find用法代码:2.binary_search用法代码:4.count用法代码:5.count_if用法代码:6.sort从小到大排序用法代码利用greater来降序排列,要用到头文件#include<functional>7.random_shuffle随机打乱顺序用法代码:8.merge9.reverse..原创 2022-03-30 10:40:26 · 1170 阅读 · 0 评论 -
C++常见的算术生成和集合算法
这篇文章算术生成算法:1.accumulate2.fill集合算法:1.set_intersection2.set_union3.set_difference原创 2022-03-30 13:24:41 · 300 阅读 · 0 评论 -
C++学习重难点(一)
今天博主特地花时间来说说c++学习过程中常见的几个重难点(博主自己认为的),这几个重难点网上也有人说是面试c++工程师的问题,可能在实际开发中很少用到,但毕竟学多一点也无碍对吧。本篇主要是c++中的浅拷贝和深拷贝,运算符重载等。下面让我们一一来看看吧。1.浅拷贝与深拷贝但是浅拷贝带来的问题释放堆区数据时就是堆区内存重复释放,系统会报错,利用深拷贝在堆区再生成一个区来存放数据2.运算符重载:将类对象的属性进行运算,没有重载编译器是做不到的(1)加法重载运算符:两种方法成原创 2022-03-31 01:50:13 · 701 阅读 · 0 评论 -
C++学习重难点(二)
今天在打开CSDN,像往常一样刷文章时,看到了几篇有些大佬博主写的c++入门基础知识点总结文章,感觉写的非常好,总结很到位。所以博主我今天在刷完这几篇文章后,抓住几个博主认为平时容易忽略,又有时候会碰到的知识点来做做笔记(在此对那几位大佬博主表达感谢之情,当然博主我也不是厚颜无耻之人,直接复制别人的文章就放到这里),方便博主和其他小伙伴的学习。下面就让我们一起来看看吧1.引用:在博主刚开始学习c++时,就天真的以为引用就用在函数传参时取代指针的作用,结果是博主格局小了。引用和指针的区别1、引用原创 2022-03-31 13:41:25 · 286 阅读 · 0 评论 -
C++学习重难点(五)
昨天的文章讲了类与对象之封装,啰里啰唆讲了不少。原创 2022-04-01 21:32:10 · 258 阅读 · 0 评论 -
C++学习重难点(八)
今天来分享一下c++查找文件的内容,这也是博主最近在和朋友组队做项目现学的内容。这部分内容不算c++基础语法内容,在视频中也很少看到(博主以前没接触过)。到底如何查找文件呢?我们需要一个结构体和几个大家可能不太熟悉的函数。下面我们一起来看看吧。主要头文件#include<io.h>1.结构体_finddata_t(这个结构体是用来存储文件各种信息的)底层原理:struct _finddata_t{ unsigned attrib;//attrib:用于表示文件的属性,位表原创 2022-04-09 15:49:58 · 612 阅读 · 0 评论 -
c++多线程学习笔记(二)之线程入口并封装线程基类接口
今天我们来扩展c++多线程学习中的关于线程入口并封装线程基类接口的内容,这部分内容也是相对来说比较重要的,涉及到类与成员函数,还有几个比较常见又陌生的概念。下面让我们一起来看看吧。首先下面是基本接口的调用:下面是样例代码:#include<iostream>#include<thread>#include<string>using namespace std;class MyThread{public: //入口线程函数 v...原创 2022-05-03 23:59:27 · 797 阅读 · 0 评论 -
C++多线程学习笔记(一)
今天是五月三号,五一放假五天,博主也就给自己放了三天假,去游山玩水,吃美食。今天是第四天了,也该慢慢找回学习的状态啦。所以今天博主也是改变自己最近懒惰的状态,来开始自己学习多线程的基础知识。多线程这部分内容对于java,c++爱好者应该不陌生,经常听到或看到的吧。建议在学完c++基础语言知识后的同学们,还是值得学一下这部分内容的(其实也不算很多内容)。下面我们正式开始来看看吧1.理解多线程。多线程并发指的是在同一个进程中执行多个线程。C++11提供了语言层面上的多线程,包含在头文件<threa原创 2022-05-04 17:23:06 · 2136 阅读 · 0 评论 -
C++多线程学习笔记(三)
前面五一放假期间发表了两期文章c++多线程的学习笔记,之后又因为某些事停更了几天,今天我们继续来看看c++多线程问题。前面讲完了c++多线程的前两种头文件,今天我们来看看第三种头文件吧。...原创 2022-05-08 20:30:17 · 1328 阅读 · 0 评论 -
C++基本语法知识查漏补缺(一)
一)复制构造函数1、复制构造函数的参数是本类对象的引用类名(const 类名& 引用名);如:类内Student(const Student& );类外:Student::Student(const Student& stu){ int len=strlen(stu.name)+1; name=new char[len]; strcpy(name,stu.name); age=stu.age; cout<<"St...原创 2022-05-14 01:19:20 · 487 阅读 · 0 评论 -
C++基本语法知识查漏补缺(二)
一)函数模板是一种特殊的函数,可以使用不同的类型进行调用,对于功能相同的函数,不需要重复编写代码,并且函数模板与普通函数看起来很类似,区别就是类型可以被参数化函数模板通过template与typename(换成class也可以)两个关键字来定义,如下上边就定义了一个变量交换的函数模板,在使用函数模板时有两种方式 -自动类型推到调用Swap(a, b) -具体类型显示调用Swap<int>(a, b)需要注意的是函数模板是不允许隐式类型转换的,调用时类型...原创 2022-05-16 00:43:27 · 271 阅读 · 0 评论 -
c++高阶语法(一)
一)内联函数inline。解决函数调用的效率问题,在函数声明前加上inline即可,原创 2022-05-17 21:28:56 · 824 阅读 · 0 评论 -
c++高阶语法(二)
今天,我们来看看c++中的高阶语法——匿名函数Lambda函数,也叫Lambda表达式。下面我们一一来看看这个Lambda函数吧。1.匿名函数就是没有名字的函数。有一些函数只是临时用一下,而且业务逻辑也比较的简单,相当于是临时工,就没必要给它定义成一个正常函数(包含有函数名,很正式的那种)。使用临时的匿名函数,可以减轻函数的数量,让代码变的清晰易读。2.Lambda表达式具体形式如下:[capture](parameters)->return-type{body}如:[](int x, i原创 2022-05-21 20:01:04 · 267 阅读 · 0 评论 -
c++高阶语法(四)
今天,我们来分享一个c++的高阶语法——嵌套类。嵌套类是它所在封装类的一个成员。非静态嵌套类(内部类)可以访问封装类的其他成员,包括声明为private的成员。静态嵌套类不能访问该风状态的其他成员。作为外部类的一个成员,一个嵌套类可以被声明为private,public,protected或者package private。为什么使用嵌套类?使用嵌套类的主要原因:它将仅在一个地方使用的逻辑类组合在一块。如果一个类仅在另外一个类中使用,那么,前者在逻辑上绑定到后者上使得两者在一块。像帮助类的嵌套使原创 2022-05-22 20:22:01 · 269 阅读 · 0 评论 -
c++高阶语法(三)
今天,我们来分享c++语法中的关键字,在c++学习中,关键字有很多,如const,static,enum等等。下面是c++语法中的全部关键字(好像是73个)大部分在基础语法学习中的已经见过了,现在我们来看看几个不常见又有时候起关键作用的关键字吧。1.char、wchar_t表示字符型和宽字符型这些整数类型(属于基本类型),但一般只专用于表示字符。char(和signed char、unsigned char一起)事实上定义了字节的大小。char表示单字节字符,wchar_t表示多字节字符原创 2022-05-22 00:40:38 · 581 阅读 · 0 评论 -
c++高阶语法(五)
今天,我们来看看c++11中的一个可调用对象包装器——function以及在头文件<functional>下的bind函数。一.functional1.概念:std::function是可调用对象的包装器。它是一个类模板,可以容纳除了类成员(函数)指针之外的所有可调用对象。通过指定它的模板参数,它可以用统一的方式处理函数,函数对象,函数指针,并允许保存和延迟执行它们。包装器function使其能够存储、复制、调用任何可复制构造的可调用对象1,包括全局函数、成员函数、函数对象、lamb原创 2022-05-23 00:55:56 · 202 阅读 · 0 评论