-
【重学C++】01| C++ 如何进行内存资源管理?
今天是【重学C++】的第一讲,我们来学习下C++的内存管理。与java、golang等自带垃圾回收机制的语言不同,C++并不会自动回收内存。我们必须手动管理堆上内存分配和释放,这往往会导致内存泄漏和内存溢出等问题。而且,这些问题可能不会立即出现,而是运行一段时间后,才会暴露出现,排查也很困难。因此,...
02月01日[编码文章]浏览:11
-
推荐10个好用的C++在线编译器,去网吧学习不用配置环境了
很多时候我们会去网吧学习C++(不是),安装VS、Eclipse这样的大型软件没必要,但是下载vscode、mingw、cmake来配置环境比较麻烦,这时一个实用的C++在线编译器就非常难得和可贵了,我试用了多款后,特地奉上这10个C++在线编译器,让你成为网吧里最靓的仔。...
02月01日[编码文章]浏览:11
-
Malloc、free和realloc浅析(malloc和free new和delete)
在学习C/C++的过程中,malloc、realloc和free这些函数,都是内存操作方面最基本的函数,使用非常广泛。今天本文主要是浅显地介绍一点这些函数的原理。Realloc先来介绍一下realloc,因为这个函数实际上是malloc和free的二次封装。...
02月01日[编码文章]浏览:10
-
详解C++高性能无锁队列的原理与实现
1.无锁队列原理1.1.队列操作模型队列是一种非常重要的数据结构,其特性是先进先出(FIFO),符合流水线业务流程。在进程间通信、网络通信间经常采用队列做缓存,缓解数据处理压力。根据操作队列的场景分为:单生产者——单消费者、多生产者——单消费者、单生产者——多消费者、多生产者——多消费者四大模型。根...
02月01日[编码文章]浏览:11
-
从C和C++进阶到Rust:提高篇(c与rust)
作为一位精通C和C++的开发者,当你已经初步掌握Rust语言基础后,深入探索Rust的高级特性,能够让你在编程的世界中开拓出全新的视野。Rust不仅在基础语法上与C和C++有着异同之处,其独特的高级特性更是为系统编程、并发编程等领域带来了革新性的体验。接下来,我们将通过与C和C++的类比,深入探讨R...
02月01日[编码文章]浏览:11
-
c++编程中可以节省内存拷贝次数的方法和实现原理
减少内存拷贝次数在编码中对于提高程序性能、减少资源消耗、优化数据局部性、简化代码逻辑以及支持并发和并行等方面都具有重要意义。因此,在设计和实现算法和数据结构时,我们应尽可能考虑如何减少内存拷贝次数,以优化程序的性能和资源使用。...
02月01日[编码文章]浏览:11
-
-
用C实现协程库(用c实现协程库的方法)
协程这个东西有一段时间非常火热,特别是Go出来以后,大家都觉得这个用户态线程技术解决了很多问题,甚至用它可以支撑8亿用户,于是大家纷纷写了C/C++的协程库。实际上,我觉得协程库和支撑多少用户关系不大,甚至不用协程还可以支撑更多的用户(减少了协程的开销 ,协程只是提供一种编程模式,让服务器程序写起来...
02月01日[编码文章]浏览:11
-
C与C++的渊源与联系:编程世界中的“兄弟情谊”
在计算机科学的历史长河中,C和C++两种编程语言占据着举足轻重的地位。它们不仅深刻影响了现代编程语言的设计理念,还广泛应用于操作系统、嵌入式系统、游戏开发等各个领域。许多人可能会认为C和C++是截然不同的两种语言,但事实上,它们之间存在着深厚的渊源和紧密的联系。今天,我们将探讨C和C++的历史背景、...
02月01日[编码文章]浏览:14
-
看完这篇你还能不懂C语言/C++内存管理?
C 语言内存管理指对系统内存的分配、创建、使用这一系列操作。在内存管理中,由于是操作系统内存,使用不当会造成毕竟麻烦的结果。本文将从系统内存的分配、创建出发,并且使用例子来举例说明内存管理不当会出现的情况及解决办法。...
02月01日[编码文章]浏览:11