C++ 如何把大顶堆改成小顶堆?priority_queue 与仿函数从原理到模拟实现
2026-09-11 19:16 | 分类:编程语言 | 评论:0 次 | 浏览: 4
上一篇我们讲了栈和队列:它们不是容器,而是容器适配器——用一个现成容器封装转换出"后进先出 / 先进先出&...
C++ 哈希表从原理剖析到模拟实现方法
2026-09-08 19:19 | 分类:编程语言 | 评论:0 次 | 浏览: 20
1. 哈希的概念哈希(又称作散列)是一种通过哈希函数将关键字key映射到存储位置的思想,可以支持 o(1) 时间复杂度的快速查找。而哈希表是...
C++的类型转换详解
2026-09-08 19:19 | 分类:编程语言 | 评论:0 次 | 浏览: 20
一.c语言的类型转换在 c 语言里,当赋值运算符两边类型不一致、形参和实参类型不匹配、或者函数返回值与接收变量类型不一样时,就会触发类型转换...
C语言中字符函数和字符串函数的使用与实现详解
2026-09-08 19:19 | 分类:编程语言 | 评论:0 次 | 浏览: 22
查询文档cplusplus.com 编码过程当中我们经常会遇到处理字符或者字符串的场景, 比如你现在看到的每一个字 字符和字符串字符用...
C语言的递归与尾递归的实现
2026-09-08 12:05 | 分类:编程语言 | 评论:0 次 | 浏览: 31
什么递归c语言允许函数调用自己,这种调用过程就叫递归。如下面的函数up_and_down:#include <stdio.h>v...
c语言分支与循环语句案例详解
2026-09-08 12:05 | 分类:编程语言 | 评论:0 次 | 浏览: 28
程序并不是把语句从上到下机械地执行一遍。面对不同输入,它需要做出选择;遇到重复任务,它需要自动执行多次;在特殊情况下,还要提前结束当前操作。...
C语言实现结构体、联合和枚举
2026-09-08 12:05 | 分类:编程语言 | 评论:0 次 | 浏览: 31
一、结构体结构是一些值的集合,这些值称为成员变量,结构的每个成员都可以是不同类型的变量。1.结构体的声明struct tag{ mem...
C语言中位运算的实现
2026-09-08 12:03 | 分类:编程语言 | 评论:0 次 | 浏览: 27
位运算的基本概念位运算是直接对整数在内存中的二进制位进行操作的一类运算。这类运算通常效率高,适用于底层编程、性能优化和特定算法场景。常见的位...
C++ 同步机制 std::mutex的实现示例
2026-09-07 12:04 | 分类:编程语言 | 评论:0 次 | 浏览: 26
std::mutex:最基本的互斥量。std::recursive_mutex:可重入互斥量,允许同一个线程多次加锁。 •std:...
C++中 unordered_map 与unordered_set的实现
2026-09-07 12:04 | 分类:编程语言 | 评论:0 次 | 浏览: 29
一、 容器简介在 c++98 中,stl 提供了底层为红黑树结构的关联式容器,查询效率为 o ( log 2 n ) o(\log_2...
C++11 统一列表初始化的实现
2026-09-07 12:04 | 分类:编程语言 | 评论:0 次 | 浏览: 28
在 c++11 之前,初始化一个变量或对象的方式五花八门:等号赋值、括号传参、大括号给数组赋初值……不仅繁琐,还...
C++中Queue与Priority Queue的实现
2026-09-07 12:03 | 分类:编程语言 | 评论:0 次 | 浏览: 28
1. 简介:容器适配器在 c++ stl 中,queue(队列)和 priority queue(优先队列)都被归类为容器适配器,而非标准容...
C++中关键字 auto的实现
2026-09-07 12:03 | 分类:编程语言 | 评论:0 次 | 浏览: 27
一、类型声明的负担与 auto 的诞生c++ 是一种静态类型语言,变量在使用前必须声明其类型。随着模板、泛型编程与标准库的复杂度上升,写出完...
C++泛型编程详解
2026-09-04 12:07 | 分类:编程语言 | 评论:0 次 | 浏览: 28
c++ 泛型编程的核心是模板机制,它允许你编写与具体数据类型无关的通用代码,编译时再根据实际类型生成具体函数或类 。...
C++11统一初始化之列表初始化与 initializer_list
2026-09-03 12:04 | 分类:编程语言 | 评论:0 次 | 浏览: 29
c++11详解(一):统一初始化——列表初始化与 initializer_list前言:c++11为什么要重新设计初...
C++入门基础知识完整版
2026-09-03 12:04 | 分类:编程语言 | 评论:0 次 | 浏览: 29
前言c++是在c语言的基础上发展而来的一种面向对象 编程语言,它在保留c语言强大功能的同时,引入了许多新的特性。比如面向对象编程(oop):...
C++之模板进阶、继承用法及说明
2026-09-02 12:07 | 分类:编程语言 | 评论:0 次 | 浏览: 31
一、模板1. 非类型模板参数模板参数分类类型形参与非类型形参。类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数...
C++静态存储区变量初始化时机有何不同?全局与局部静态变量对比
2026-09-02 12:06 | 分类:编程语言 | 评论:0 次 | 浏览: 36
一、全局变量下断点调试现有如下代码#include <iostream>int a = 10;static int b;mycl...
C++_STL中迭代器失效的问题解决
2026-09-01 12:03 | 分类:编程语言 | 评论:0 次 | 浏览: 39
在c++工程开发中,迭代器失效(iterator invalidation) 是最隐蔽、最高频的未定义行为(ub)来源。该问题极少在debu...
c语言常量与变量有什么区别?一文带你搞懂基础概念
2026-09-01 12:03 | 分类:编程语言 | 评论:0 次 | 浏览: 40
今天系统学习了c语言里面的常量与变量的基础概念,做一下复盘巩固1.常量常量的值一旦确定就不能修改一种是字面常量,比如1,2;另一种是cons...
C++中面试高频考点拆解:字符串、算法、多线程与构建优化
2026-09-01 12:03 | 分类:编程语言 | 评论:0 次 | 浏览: 37
最近帮几位准备跳槽的朋友做模拟面试,也旁听了几场c++技术岗的现场评审,发现一个很有意思的现象:面试官问来问去,翻来覆去其实是那一百来个高频...
C++函数参数用值传递还是引用传递好 区别是什么
2026-08-31 19:22 | 分类:编程语言 | 评论:0 次 | 浏览: 34
c++对象作为函数的参数和返回值的传递方式有 3 种:传递值,传指针,传引用参数传递过程:实参:拥有值,传递给函数(给)形参:定义值,被传递...
C++多重继承的二义性问题怎么解决?虚继承详解
2026-08-31 19:22 | 分类:编程语言 | 评论:0 次 | 浏览: 35
在继承的过程中,如果一个派生类由多个基类派生,则称为多重继承(实际开发中会引入困难,不建议使用)语法:class 派生类类名:继承方式1 基...
C++中如何实现Word文档的写入与保存操作
2026-08-31 19:21 | 分类:编程语言 | 评论:0 次 | 浏览: 35
c++word写入开发工具与关键技术:qtcreator、c++作者:何任贤撰写时间:2019年05月25日word文档写入我们先要在工程文...
C语言自定义类型之联合和枚举示例详解
2026-08-31 19:21 | 分类:编程语言 | 评论:0 次 | 浏览: 35
前言本文系统讲解了c语言中两种重要的自定义数据类型:联合体(union) 和枚举类型(enum)。联合体通过共享内存空间来节省内存,适用于多...
C语言实现带头双向循环链表功能
2026-08-31 19:20 | 分类:编程语言 | 评论:0 次 | 浏览: 34
双向链表的结构有了之前不带头单链表的基础,现在再来看看双向链表,全称带头双向循环链表这里的带头并不是指的之前单链表中的头节点,实际称为哨兵位...
C++文件操作如何加锁?Boost文件锁与自封装方案对比
2026-08-31 19:18 | 分类:编程语言 | 评论:0 次 | 浏览: 36
一、锁在学习多线程、多进程的开发过程中,为了保证它们之间的通信安全,往往会使用锁来进行保护。锁很容易理解,一般的锁都是a线程使用时锁住,其它...
指针是什么?一文彻底搞懂C和C++中的指针用法与内存管理
2026-08-31 12:01 | 分类:编程语言 | 评论:0 次 | 浏览: 35
一、指针指针的问题,是一个怎么谈都不过分的问题。我们应该怎么理解指针才能够更好的去掌握它、应用它?直白来说,指针象是一个物件的“...
C++接口设计怎么做?从函数到分布式全面解析
2026-08-31 12:01 | 分类:编程语言 | 评论:0 次 | 浏览: 33
一、接口接口,在前面已经分析了几篇相关的文章了。但具体到c++如何实践开发,则需要在本文再唠叨几句。接口的定义和作用,对于绝大数的开发者来说...
C++头文件和源文件有什么区别?一文搞懂.h和.cpp的作用
2026-08-31 12:01 | 分类:编程语言 | 评论:0 次 | 浏览: 38
在c++中,头文件和源文件是组织代码的两种不同文件,作用和编写方式不同,是组织代码的基本方式,两者共同构成了项目的模块化结构两种文件的作用头...