C++技术
文章平均质量分 90
在本专栏中,我们将涵盖各种方面的C++技术内容,包括但不限于:面向对象编程、模板元编程、STL容器与算法、多线程编程、性能优化、内存管理等。无论是初学者还是有一定经验的开发人员,都可以从我们的文章中获得有价值的知识。
代号0408
简单是效率的灵魂
展开
-
C++ 基础:指针和引用浅谈
动态内存分配可以提高内存管理的效率,尤其是对于数组而言,很多时候我们可能要到运行时才能知道数组的大小。引用传递是一种在函数中传递参数的方法,其中将实际参数的引用而不是它们的值传递给函数。我们在程序中声明的每个变量在内存中都有一个关联的位置,我们称之为变量的内存地址。请注意,我们没有声明单独的指针变量,而是使用数组名称 arr 作为指针表示法。在上面的程序中,我们分别使用普通方式和指针的方式打印了数组元素的地址信息;一旦我们不再需要使用动态声明的变量,就可以取消分配该变量占用的内存。原创 2024-06-25 19:41:01 · 937 阅读 · 0 评论 -
算法基础:并查集详解
并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(1~3秒)内计算出试题需要的结果,只能用并查集来描述。方法:将集合1或者2插入到集合1或者2的某个位置即可【根节点之下的某个位置】可以看到,在计算x的集合编号的时候还是比较耗时的,所以介入了一个优化算法。中的祖宗节点【6】指向集合。原创 2024-04-25 11:16:54 · 833 阅读 · 0 评论 -
C++智能指针|优雅的内存管理解决方案
在使用过程中,如果我们忘记了#2这一步,没有通过delete释放内存以及当出现#1程序抛出异常时,后续的#2将不被执行,这也可能导致内存泄漏的问题。这就是人为手动管理内存的一个弊端,写代码的时候脑子里总是想着对内存的管理一定要用完释放!用完释放!用完释放!结果写完发现:"马什么梅?"。原创 2024-03-24 19:18:46 · 1178 阅读 · 2 评论