C++学习
文章平均质量分 62
OK成华大道
这个作者很懒,什么都没留下…
展开
-
C++17 string_view
C++ 中的 string 类型在堆上存放自己的字符串数据,所以当你处理 string 类型的时候,很容易就会产生(堆)内存分配。在实际应用中,字符串操作会很频繁,频繁的内存分配会拖慢程序的运行速度。实际上在不同的编译器中结果似乎是不同的,在gcc中打出如上代码后并没有获得一样的结果,在gcc中PrintName函数中的引用并没有向堆申请内存,而vc编译器却向堆申请了内存。这是因为:gcc的string默认大小是32个字节,字符串小于等于15直接保存在栈上,超过之后才会使用new分配。原创 2024-04-09 14:38:18 · 257 阅读 · 0 评论 -
priority_queue(优先级队列)
在C++中,priority_queue是一个容器适配器,它提供了常数时间的最大元素查找。它通常实现为堆。堆是一种数据结构,其中最大(或最小)元素始终位于顶部。priority_queue是一个模板类,定义在头文件中。它有三个模板参数:元素类型、容器类型和比较函数类型(可选)。默认情况下,它使用std::vector作为其底层容器。原创 2023-12-05 11:29:29 · 32 阅读 · 1 评论 -
C++ Lambda表达式
c++11引入了Lambda表达式,使得开发人员可以更方便的创建匿名函数。原创 2023-11-20 19:58:33 · 42 阅读 · 1 评论 -
vector容器删除元素
要移除目标元素,就没有库函数可以使用,那就需要对其他元素进行处理,进行覆盖和前移,比较暴力的思路是发现目标元素后,将后面的所有元素都前移覆盖原来的元素,这种方法需要两个for循环,时间复杂度为。,通过有两个指针和一个for循环将所有元素分为两个部分,,由于pop_back删除的是最后一个元素,所以先。如果从数组的角度理解,因为数组存储的内容。的角度思考,我们可以通过一次遍历。使用快慢指针删除所有目标元素。,这里不详细讲这种写法。(2) 使用快慢指针。原创 2023-11-21 12:35:17 · 408 阅读 · 0 评论 -
C++文件操作
C++文件操作,文本文件,二进制文件原创 2022-12-18 14:51:24 · 83 阅读 · 1 评论 -
C++多态案例:组装电脑
C++多态,新建和释放对象,内存,new用法原创 2022-12-17 14:41:00 · 1337 阅读 · 1 评论