- 博客(38)
- 收藏
- 关注
原创 C++11新特性 8.final关键字、override关键字
只能修饰虚函数,阻止子类重写这个函数,final关键字写在。即该虚函数不可以再被重写。一般不会在基类中使用,不然没有意义,因为只能修饰虚函数。表示该不能被继承,即无派生类。
2025-03-09 11:46:47
238
原创 C++11新特性 7.C11中的左值、右值、move移动语义、forward完美转发
简介左值、右值、move、forward的概念和使用示例与场景
2025-03-09 10:50:51
968
原创 C++11新特性 6.lambda表达式
Lambda表达式是C++11引入的一种匿名函数的实现形式,能让你在代码中方便、快速地定义小型临时函数,尤其在需要简洁表达式、回调函数或函数对象时。Lambda表达式实质上是匿名函数对象(closure)可以访问其定义时的外部作用域变量。它弥补了传统函数指针和函数对象(functor匿名性:无需显式命名,可直接在需要的地方定义。闭包特性:可以捕获作用域内的变量,形成闭包。灵活性:支持多种捕获模式、参数传递和返回值类型。与 STL 完美结合:常用于算法(如sortfor_each)的回调函数。
2025-03-08 20:55:09
1029
原创 C++11新特性 5.static静态
在 C++11 中,static 关键字延续了其在 C++ 早期版本中的一些重要特性,同时也在一些新特性的语境下有着特定的应用。
2025-03-08 10:48:59
626
原创 C++11新特性 4.auto自动类型推导、decltype
在 C++11 中,auto关键字被赋予了新的语义。在旧标准里,auto用于声明自动存储期的变量,不过使用得较少且意义不大。而在 C++11 及以后,auto主要用于自动类型推导。它允许编译器根据变量的初始化表达式自动推断出变量的类型,从而简化代码编写,尤其是在处理复杂类型时,能让代码更加简洁易读。使用数组初始化auto变量:当使用数组名初始化auto变量时,数组会退化为指针,所以auto会被推导为指针类型。例如中,t1被推导为int*类型。使用auto定义数组:使用auto。
2025-03-08 01:23:27
705
原创 C++11新特性1.原始字面量
在传统的 C++ 字符串字面量中,反斜杠被用作转义字符,用于表示一些特殊字符,如换行符\n、制表符\t等。但当字符串中,需要对这些字符进行转义,这会使字符串的书写变得复杂且难以阅读。原始字面量的出现就是为了解决这个问题,它允许你直接书写字符串,而无需对特殊字符进行转义。
2025-03-07 21:56:35
297
原创 C++视觉开发 七.模板匹配
模板匹配是一种基于图像处理的技术,用于在目标图像中寻找与给定模板图像最相似的部分。通过设定的模板,将目标图像与模板图像比较,计算其相似度,实现对目标图像的判断。
2024-07-09 17:16:58
907
2
原创 C++视觉开发 一.OpenCV环境配置
(1)下载这边选择需要的版本,我是在windows下的4.9.0。(科学上网下载很快,否则可能会有点慢)(2)安装双击下载好的exe文件,选择安装路径,最好是英文路径。
2024-06-29 18:54:49
3105
原创 ubuntu(20.04)外接显示器-解决外接显示器无反应问题-双屏幕显示设置
1. 如果出现以下配置,则你的ubuntu系统当前的配置可以直接识别外接显示器,如果没有请看第二步。如果显示如下,则目前无法正确识别:接下来需要进行一些操作。
2024-05-27 10:52:43
18747
27
原创 检测程序时间延迟
在 C++ 中,可以使用 <chrono> 头文件中的时间库来测量语句执行的时间延迟。在上述示例中,定义了一个 measureExecutionTime 函数,它接受一个字符串作为参数,用于描述要测量时间延迟的语句。在函数内部,使用 std::chrono::steady_clock::now 分别获取当前时间和最后执行时间,并计算时间差。然后,将时间差转换为毫秒数,并打印出语句执行的时间信息。
2024-04-11 00:15:19
467
原创 算法基础5:哈希表、有序表、链表
哈希表(Hash Table),也称为散列表,是一种使用哈希函数组织数据,以支持快速插入和搜索的数据结构。哈希表的基本思想是通过哈希函数把键(Key)映射到表中一个位置来访问记录,以加快查找的速度。这个映射的函数称作哈希函数,存放记录的数组称作哈希表或散列表。:设计一个好的哈希函数是哈希表效率的关键。理想的哈希函数应该满足两个基本条件:一是尽量减少冲突,二是计算简单快速。哈希函数通常将输入(比如字符串、数字等)转换成一个整数,这个整数的范围通常是0到哈希表大小减一。
2024-03-09 15:16:12
1919
原创 算法基础4:排序算法总结
排序算法的稳定性是一个重要的特性,它描述了排序算法在排序过程中是否会改变具有的元素之间的相对顺序。如果一个排序算法能够保持任何两个相等的元素的先后顺序不变,那么这个排序算法就是稳定的;反之,如果排序过程中可能改变相等元素之间的先后顺序,则该算法是不稳定的。稳定的排序算法对于某些应用场景是非常重要的,特别是当元素的键值不是唯一标识时。
2024-03-04 16:48:54
477
1
原创 算法基础3:堆结构、比较器、桶排序
这种方法特别适用于数据分布相对均匀的情况,因为这可以保证每个桶中的元素数量大致相同,从而使得整体排序效率较高。此外,由于桶排序在各个桶之间是独立的,因此它很适合并行处理,进一步提高排序效率。
2024-03-02 12:12:04
999
原创 算法基础2:递归排序算法和O(NlogN)复杂度
一个函数直接或间接地调用自身的过程。递归可以用来解决可以分解为一系列相似子问题的问题,其中每个子问题都与原始问题具有相同的形式,但规模更小。递归过程中必须有一个或多个基本情况,这些情况不需要进一步递归就可以直接解决。基本情况防止无限递归,并为递归调用提供终止条件。:通过将问题分解成更小、更易于管理的子问题,递归可以简化复杂问题的解决方案。:某些问题(如树的遍历、图的搜索、分治算法)的结构天生适合于递归解决方案。:每个递归函数都必须有一个明确的终止条件,否则会导致无限递归,最终可能导致栈溢出错误。
2024-02-28 13:21:28
1023
原创 算法基础1:复杂度和简单算法
插入排序是一种简单的排序算法,通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。这个算法的时间复杂度一般是。
2024-02-25 18:14:50
1521
1
原创 C++关键字大全
const(常量的,constant)所修饰的对象或变量不能被改变,修饰函数时,该函数不能改变在该函数外面声明的变量也不能调用任何非const函数。在 C++ 中,用 const 声明一个变量,意味着该变量就是一个带类型的常量,可以代替 #define,且比 #define 多一个类型信息,且它执行内链接,可放在头文件中声明;friend(友元)声明友元关系。它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针(先把一个指针转换成一个整数,在把该整数转换成原类型的指针,还可以得到原先的指针值)。
2024-02-22 15:52:07
1062
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人