C++自学
文章平均质量分 73
Not_full
这个作者很懒,什么都没留下…
展开
-
C++实现简易定时器
里面包含了计时器id,定时的时长,触发定时器开始的时间,执行的任务。这个地方需要注意下getTime函数,通过GetLocalTime来获取当前的时间,然后使用mktime函数来讲当前的时间点转化成秒数,最后将秒数。所以我们首要需要一个接口来添加定时器(AddTimerHandler),将定时的时间和所需要执行的任务添加进入;不停的循环主任务,当定时器的时间到了就执行子任务。注意这里的任务是通过函数指针来实现回调函数的功能(即通过函数指针来执行函数有一定的局限性,C++11标准中有更好的方法)原创 2022-10-11 22:22:32 · 5233 阅读 · 0 评论 -
函数模板与类模板
函数模板和类模板原创 2022-09-28 23:55:54 · 231 阅读 · 0 评论 -
Lambda表达式
lambda表达式是C++中新引入的匿名函数 ,接下来我们来看看它的结构:[capture list] (params list) mutable exception-> return type { function body } capture list:捕获外部变量列表 params list:形参列表 mutable指示符:用来说用是否可以修改捕获的变量 exception:异常设定 return type:返回类型 function body原创 2022-07-06 21:34:44 · 123 阅读 · 0 评论 -
聊聊C++的继承
c++中最重要的就是多态,然而在继承是实现多态的一个重要的行为。子类继承父类,就会讲父类中的所有数据,行为统统继承。继承通过:来表明。例如: class animal{}class dog :public animal{}我们知道,一个类有构造函数和析构函数。那么在继承的过程中,父类和子类的构造和析构的执行顺序是怎么样的呢?我们来看如下代码:class animal{public: animal() { cout ...原创 2022-06-08 23:26:13 · 181 阅读 · 0 评论 -
单例的学习
当我们声明函数的时候我们就在疑惑返回值,声明一个对象是有地址的,这里的地址我们要求不能被改变,且类声明完就得有。在它的核心结构中只包含一个被称为单例的特殊类,通过单例模式可以保证系统中一个类只有一个实例并且该实例易于外界访问。但是类不完成是无法实例化的,所以我们需要一个函数去外部实例化一个对象,且这个函数是外部可访问的。如果希望在系统中某个类的对象只能存在一个,单例是最好的解决方案。做完上述工作后,我们在类外实例化下即可完成一个单例的创建。单例就是只能实例化一个对象,(真惨,对象都只能有一个)原创 2022-09-28 23:18:58 · 118 阅读 · 0 评论 -
浅聊map容器
在进入map容器前先看看map容器内存放的值的类型:pairpair 类型(键值对)声明:pair<T1, T2> p1;声明并初始化:pair<T1, T2> p1(v1, v2);make_pair(v1, v2)以 v1 和 v2 值创建一个新 pair 对象,其元 素类型分别是 v1 和 v2 的类型也可以这么使用:auto pair = make_pair(v1, v2);OK,简单的聊完了pair类型,接下来我们就进入map容器Map容器:..原创 2022-05-18 23:53:45 · 328 阅读 · 2 评论 -
简述快速排序算法
概念:快速排序是一种二叉树结构的交换排序方法,设数组a中存放了n个数据元素,low为数组的低端下标,high为数组的高端下标,从数组的a中任取一个元素(通常去a[low]作为标准),调整数组a中各个元素的位置,使排在标准元素前面的元素的关键字均小于标准元素的关键字,排在标准元素后面的元素的关键字均大于或等于标准元素的关键字。这样一次排序后,标准元素前面的元素均小于标准元素,后面的元素均大于或等于标准元素。然后对标准元素的前后分别在使用同样的方法进行递归快速排序。递归算法的结束条件是high<=low,原创 2022-05-15 21:17:50 · 465 阅读 · 0 评论 -
直接插入排序
概念:顺序的把带排序的数据元素按其关键字值的大小插入到已经排序数据元素子集合的适当位置。子集合的数据元素个数从只有一个数据元素开始,逐次增大,当子集合大小最终和集合大小相同时,排序完毕。设待排序的n个数据元素存放在数组a中,初始时,子集合a[0]已经排好序,第一次循环准备把a[1]插入到已经排好序的子集合中。这时只需要比较a[0],a[1]即可。若a[0]<=a[1],则说明序列有序,否则将a[1]插入到a[0]的前面去。此时子集合的大小增大为2,第二次循环准备把数据元素a[2]插入到已经排好原创 2022-05-14 22:03:44 · 233 阅读 · 0 评论 -
QT中的容器和迭代器
QT中的容器和C++中的容器是很类似的,就是前面加了一个Q。容器分为关联容器和顺序容器,分类的标志应该是按照数据的存储或者排列来。顺序容器:顾名思义是按顺序来的,常见的C++中有List,vector,stack,queue等。所以在QT中就是QList,QLinkedList,QVector,QStack和QQueue。Qlist:数组链表。提供下标缩影方式访问数据,和数组是一样的,也提供at()函数。 示例...原创 2021-11-14 15:27:47 · 1423 阅读 · 0 评论 -
第二部分:容器和算法
C++——primer第四版上的给自己看的!!---------------------------------------------------------------------------------------------------------------------------------第二部分:容器和算法 C++ 提供了使用抽象进行高效率编程的方式。标准库就是一个很好的例子: 标准库定义了许多容器类以及一系列泛型算法,使程序员可以更简洁、抽象和有 效地编写程序。这样转载 2021-08-02 23:46:02 · 235 阅读 · 0 评论