TechBlog
首页分类标签搜索关于
← 返回分类列表
加载中...

© 2025 TechBlog. All rights reserved.

分类

共 686 篇文章
C内存管理

C内存管理

摘要:本文介绍了C/C++程序的内存管理机制,重点分析了内存区域的划分(栈、堆、数据段、代码段等)及其设计原因(管理效率、安全性、资源利用)。详细对比了C语言的动态内存管理函数(malloc/calloc/realloc/free)与C++的new/delete操作符,强调后者在操作自定义类型时会自动调用构造/析构函数的优势。通过代码示例演示了动态内存的申请、初始化及释放流程,并提醒注意内存泄漏风险。适用于理解底层内存管理机制的开发者阅读。(150字)

时间:10/28/2025

数据结构大话单链表

数据结构大话单链表

要实现链表,首先得告诉计算机"节点"长啥样。//数据类型,这里先拿int举例//提前声明//链表指针,方便操作//数据域:存具体数值//指针域:存下一个节点的地址}Node;你看,每个节点就像个小盒子,左边装数据,右边装个"箭头"指向隔壁盒子。单链表其实就是用指针把节点串起来,核心操作就四个字:增、删、改、查。跟数组比,它的优势是插入删除方便(不用挪动一堆元素),缺点是不能直接"跳"到某个位置(必须从头遍历)。头节点不算实际数据,主要是方便操作。

时间:10/27/2025

条款20对于类似stdshared_ptr但有可能空悬的指针使用stdweak_ptr

条款20对于类似stdshared_ptr但有可能空悬的指针使用stdweak_ptr

EffectiveModernC++之条款20

时间:10/25/2025

C中函数重载解析从原理到应用

C中函数重载解析从原理到应用

函数重载是C++多态性的重要体现,通过深入理解名称修饰规则、调用约定和重载解析过程,可以编写出更加灵活和健壮的代码。在实际开发中,要注意避免歧义调用,合理设计函数接口,并充分考虑与模板、继承等特性的交互作用。掌握函数重载不仅有助于通过技术面试,更是提升C++编程能力的关键一步。建议通过实际项目不断练习,加深对这一重要特性的理解和运用。

时间:10/24/2025

C语言大小端

C语言大小端

本文介绍了有关C、C++中大小端机的问题,快来检测一下你的机器是大端机还是小端机!

时间:10/24/2025

华为od-22届考研-C面经

华为od-22届考研-C面经

华为OD面试经验分享(22届非科班)机试内容:3道编程题:矩形相交面积计算、字符串剩余字母统计、二维矩阵单词搜索难度适中,需注意时间管理(限时40分钟/题)面试流程:HR面:基础情况+职业动机考察(重点考察稳定性)技术面(2轮):•C++八股文(static/虚函数/STL容器等)•手撕代码(IP排序/版本号比较)•项目深挖(MVC架构/算法实现)综面:高压追问转行动机与职业规划关键建议:八股文要扎实,重点准备STL/多线程/排序算法提前准备职业转型的合理说辞保持每日编程手

时间:10/24/2025

C父类与子类进行交互

C父类与子类进行交互

在工作中,经常用到父类指针指向子类对象,通过关键字实现多态;但当突然子类对象想向父类传数据时,一下子愣住了。重新回顾下C++基础***注意:***继承方式都统一为,如果是其余两个,需要注意下权限问题3.重写虚函数,回调二、父类向子类传递数据核心点:在于权限上注意:这里父类的构造函数是的,如果是或,则无法通过这种方式调用。3.通过保护函数传递数据4.通过事件/回调机制核心点:利用回调函数,父类在某个事件发生时(如数据接收完成),调用子类的特定方法。在工作项目中,推荐该做法像一

时间:10/23/2025

算法训练.17

算法训练.17

最近真的是很忙,要学的东西还挺多,终于抽出时间来更新博客了,来跟大家分享一下最近做的几道题。

时间:10/23/2025

C变量与函数命名规范技术指南-基于华为编码规范与现代C最佳实践

C变量与函数命名规范技术指南-基于华为编码规范与现代C最佳实践

《C++变量与函数命名规范技术指南》摘要:本文基于华为编码规范与现代C++实践,系统阐述了C++命名规范的核心原则与具体规则。强调命名需遵循清晰性、一致性、简洁性三大原则,按作用域划分变量命名:全局变量加g_前缀,静态变量加s_前缀,局部变量采用小驼峰法。特殊类型变量(如句柄、指针、布尔值)需体现类型特性,布尔变量推荐使用is/has等前缀。函数命名采用动词+名词结构的小驼峰法,类成员函数需区分访问权限。指南通过大量代码示例对比良好与不良命名实践,为提升代码可读性与团队协作效率提供标准化参考。

时间:10/23/2025

C语言用for循环穷举数字的组合排列

C语言用for循环穷举数字的组合排列

在C语言中,可以通过嵌套的for循环来穷举数字的所有可能组合或排列。以下是几种常见场景的实现方法。以上方法可以根据具体需求进行调整,适用于大多数数字组合或排列的穷举场景。

时间:10/22/2025

OpenCV-cvMat.type-以及类型数据转换

OpenCV-cvMat.type-以及类型数据转换

OpenCV中cv::Mat用于矩阵和图像处理,其type()方法返回数据类型和通道数(如CV_8U)。数据类型转换通过convertTo()实现,需注意精度损失。颜色模型转换使用cvtColor(),默认采用BGR通道顺序(非RGB),这是为了兼容早期硬件。核心功能定义在opencv2/core相关头文件中。

时间:10/20/2025

C数组使用

C数组使用

C++数组常规使用

时间:10/19/2025

C模板

C模板

模板

时间:10/15/2025

C中获取程序执行时间

C中获取程序执行时间

对于大多数应用场景,推荐使用Stopwatch类,因为它提供了更高的精度和灵活性。如果你仅仅需要快速获取两个时间点之间的差异,并且不介意精度问题,那么使用DateTime类或Environment.TickCount/Environment.TickCount64也是可行的。选择哪种方法取决于你的具体需求和精度要求。

时间:10/14/2025

C入坑JAVA-使用XXLJob

C入坑JAVA-使用XXLJob

项目基于 XXL Job 实现分布式定时任务,支持动态控制任务的添加、修改、开启、暂停、删除、执行一次等操作。疑问:为什么使用 XXL-Job 呢?目前国内开源的 Job 框架,经历过大规模的中大厂的考验,稳定性和功能性都是有保障的,目前可能只有 XXL-Job 和 Elastic-Job 两个选择。相对来说,XXL-Job 更加轻量级,大家更容易上手。

时间:10/14/2025

c类和对象下

c类和对象下

我们在之前就已经了解了构造函数,初始化成员变量主要使用的是函数体内赋值。1、其实,构造函数初始化还有一种方式,就是初始化列表,初始化列表的使用方式是以,接着是一个,每个“成员变量”后面跟一个放在括号中的初始值表达式。例如:2、每个成员变量在初始化成员列表中只能出现一次,,语法理解上初始化列表可以认为是每个成员变量定义初始化的地方。3、引用成员变量、const成员变量,没有默认构造的类类型变量,必须放在初始化列表位置进行初始化,否则编译会报错。

时间:10/12/2025

C进阶系列万字详解智能指针附模拟实现的源码

C进阶系列万字详解智能指针附模拟实现的源码

想要学会c++的智能指针?看这篇文章就够了!万字详解

时间:10/10/2025

WPF应用最小化到系统托盘

WPF应用最小化到系统托盘

在现代桌面应用开发中,系统托盘(System Tray)功能已经成为用户体验的重要组成部分。特别是对于需要长时间运行的应用程序,如即时通讯工具、音乐播放器、系统监控工具等,最小化到系统托盘不仅可以节省任务栏空间,还能让应用在后台持续运行,随时为用户提供服务。本文以Rouyan这个WPF应用为例,说明在WPF中如何实现最小化到系统托盘。

时间:10/09/2025

c-bug-函数定义和声明不一致导致出bug

c-bug-函数定义和声明不一致导致出bug

这篇文章分析了C++代码中的一个bug:在调用printMultimap函数时,传入的multimap类型参数与函数声明中的map类型不匹配导致编译错误。文章详细解释了错误原因(函数声明与定义不一致、同名函数冲突或编译器缓存问题),提供了验证方法(如输出变量类型),并给出三种解决方案:确保声明定义一致、清理项目重建、搜索同名函数。最后建议使用模板函数来兼容map和multimap类型,避免类型不匹配问题。核心结论是必须保证函数参数类型与实际使用类型一致。

时间:10/09/2025

Python-与-CC-语言的区别及选择指南

Python-与-CC-语言的区别及选择指南

语言只是工具。优秀的开发者往往不拘泥于一门语言,而是根据项目需求,灵活运用最合适的工具。理解这些核心差异,将帮助你在纷繁复杂的技术选型中做出明智的决策,并最终成长为一名视野开阔、能力全面的软件工程师。

时间:10/07/2025

从零开始的C学习生活-5内存管理和模板初阶

从零开始的C学习生活-5内存管理和模板初阶

本文介绍了C++中内存管理和模板编程的核心内容。在内存管理方面,详细对比了C语言的malloc/calloc/realloc与C++的new/delete操作符,重点分析了它们在使用方式、初始化能力、类型安全和构造/析构函数调用等关键差异。在模板编程部分,深入讲解了函数模板和类模板的概念、语法格式及其实现原理,包括模板的隐式和显式实例化过程,以及模板参数匹配规则。文章通过具体代码示例,展示了模板如何解决代码冗余问题,实现泛型编程,为C++程序员提供了更高效的内存管理和代码复用方案。

时间:10/07/2025

C56-字符串拷贝函数strcpy与strnpy

C56-字符串拷贝函数strcpy与strnpy

功能:安全复制字符串,限制长度防溢出用法dest:目标缓冲区(存储复制结果)。src:源字符串(以\0结尾)。n:最多复制的字符数(包括\0返回值:返回dest的指针。最多复制n个字符到dest若src较短,剩余空间补\0若src较长,不会自动加\0注意需确保dest足够大建议手动补\0Example// 安全终止特点比strcpy安全需自行处理字符串终止。

时间:10/06/2025

21.-C-类继承-构造函数

21.-C-类继承-构造函数

21.-C-类继承-构造函数...

时间:10/06/2025

学习笔记02C面向对象编程核心技术详解

学习笔记02C面向对象编程核心技术详解

本文系统梳理了C++面向对象编程核心技术,重点涵盖类与对象设计、继承机制和多态实现三大核心模块。主要内容包括:1)类与对象基础,详解封装性、构造函数类型及成员访问控制;2)继承机制,分析访问权限控制、虚函数和基类-派生类关系;3)多态实现,通过动态绑定和虚函数表展示运行时多态特性。文中包含丰富的代码示例和UML图示,如类层次结构设计和对象生命周期管理,并强调现代C++特性如移动语义的应用。适合作为系统复习C++面向对象编程核心概念的参考笔记。

时间:10/06/2025

上一页
12345...29
下一页第 1 / 29 页