很多人对CRITICAL_SECTION的理解是错误的,认为CRITICAL_SECTION是锁定了资源,其实,CRITICAL_SECTION是不能够“锁定”资源的,它能够完成的功能,是同步不同线程的代码段。简单说,当一个线...
网站建设
C++ 实现高性能HTTP客户端
目录 一、什么是Http Client 二、请求的过程 1. 创建Http任务 2. 填写header并发出 3. 处理返回结果 三、高性能的基本保证 1. 异步调度模式 2. 连接复用 3. 解锁其他功能 一、什么是Http Client...
C++关于类结构体大小和构造顺序,析构顺序的测试
目录 总结 #include iostreamusing namespace std;/**1. c++的类中成员若不加修饰符的话,默认是private2. 调用构造函数时,先递归调用最顶级的父类构造函数,再依次到子类的构造函数。3. 调用析构...
C语言邻接表建立图详解
目录 有向图 无向图 邻接表存图进行拓扑排序 总结 有向图 代码: #includestdio.h#includestdlib.h#includestring.h#includestackusing namespace std;#define maxn 200int v, e;//表结点typedef struct _Enode{int ivex; //该边...
一篇文章带你了解C语言函数的可重入性
目录 一、不可重入函数。 二、可重入函数。 三、如何写出可重入的函数 四、函数的可重入性和线程安全的关系 五、malloc和printf为什么不可重入 总结 一、不可重入函数。 在函数中如...
CrashRpt使用案例详解
CrashRpt介绍及简单应用 1、简介 CrashRpt是一个开源的第三方包,在程序出现未处理异常时,能够收集错误信息,并生成程序错误报告。CrashRpt可以将报告按照指定的方式(例如HTTP或SMTP)发送...
C语言在linux下编程详解
目录 文件操作 总结 文件操作 #include sys/unistd.h//含有close函数#include fcntl.h//含有open函数int main(){ int fd=open("text.txt",O_RDONLY); close(fd);}//O_RDONLY是一个宏,代表这个文件只读,常用的就是这三...
如何用c++表驱动替换if/else和switch/case语句
目录 C++的表驱动法 一、常用示例 二、表驱动法 三、C++实现注意 四、实用案例 C++的表驱动法 目的: 使用表驱动法,替换复杂的if/else和switch/case语句。 一、常用示例 以switch为例,常用...
C++11新特性之变长参数模板详解
目录 C++11 变长参数模板 变长函数参数包 如何解参数包 sizeof()获得函数参数个数 递归模板函数 变参模板展开 结论 C++11 变长参数模板 在C++11之前,无论是类模板 还是函数模板,都只能...
VS+Qt+Halcon 显示图片,实现鼠标缩放、移动图片
摘要 本篇博文记录一下,用VS+Qt+Halcon实现对图片的读取以及鼠标缩放,移动(鼠标事件调用了halcon自带的算子)的过程。以及遇到的坑..... 先来看一下动态效果图: 主要控件: 添加一...
C语言入门篇--初识结构体
目录 1.为什么要有结构体 2.结构体的定义 2.1结构体类型的定义 2.2定义结构体普通变量及访问 2.3定义结构体指针变量及访问 1.为什么要有结构体 (1)之前int、char等类型描述的结构体非...
C语言入门篇--初识指针和指针变量
1.指针 指针就是地址(即一个数据)。 2.指针变量 2.1概念 (1)指针变量是变量,是变量在内存中就会开辟空间,会有自己对应的的地址,有自己的变量大小。 (2)指针变量里放的内...
C语言入门篇--理解地址及内存
1.内存 内存是电脑中一个重要的存储器,计算机中所有的程序都在内存中运行的,内存的性能对计算机的影响非常大。 内存是计算机与CPU进行沟通的桥梁,计算机会把程序由硬盘加载到...
C++项目基于HuffmanTree实现文件的压缩与解压缩功能
目录 前言 1.文件压缩的概念 2.为什么需要压缩 3.压缩的分类 4.压缩的方法 二、HuffmanTree文件压缩与解压缩 1.HuffmanTree的概念 2.HuffmanTree的构建 3.文件压缩 4.文件解压缩 三、HuffmanTree压缩...
C语言入门篇--变量的左值和右值
目录 1.普通变量 2.指针变量 2.1初步理解 2.2深入理解 在看此块内容前可以先看看内存及地址相关内容,更容易理解。 1.普通变量 一个变量是有三个属性: 1.变量的空间。 2.变量的内容。...
C语言的可变参数函数实现详解
目录 1、简介 2、简单的使用方式 总结 1、简介 今天看到一个有趣的东西C语言的可变参数函数 众所周知,C语言的函数不能重载,那么你printf和scanf是怎么可以输入多个参数的 例如查看...
C语言结构体的具体使用方法
目录 初识C语言结构体 1.为什么要有结构体 2.结构体的定义 2.1结构体类型的定义 2.2定义结构体普通变量及访问 2.3定义结构体指针变量及访问 初识C语言结构体 1.为什么要有结构体 (1)...
C语言可变参数函数详解
目录 C语言可变参数函数 总结 C语言可变参数函数 C 语言允许定义参数数量可变的函数,这称为可变参数函数(variadic function)。这种函数需要固定数量的强制参数(mandatory argument),后...
利用C语言实现五子棋游戏
本文实例为大家分享了C语言实现五子棋游戏的具体代码,供大家参考,具体内容如下 一、前言 本文将先介绍五子棋运行所需要的函数,最后串联成完整代码。 我们需要实现的功能有:...
OpenCV和C++实现图像的翻转(镜像)、平移、旋转
目录 一、翻转(镜像) 二、仿射扭曲 获取变换矩阵 仿射扭曲函数 warpAffine 旋转 平移 三、仿射变换 四、透视变换 综合示例 总结 官网教程 一、翻转(镜像) 头文件 quick_opencv.h:声明...
C语言中注释与注意事项的深入讲解
C语言注释简介: 注释应该出现在三种位置 文件头部 函数头部 函数体内的和代码混在一起的注释 对于文件头部的注释至少列出: 版权声明、版本号、文件创建日期、作者、内容/功能...
C语言进阶教程之字符串&内存函数
目录 前言: 一、求字符串长度 strlen strlen函数的模拟实现 二、长度不受限制的字符串函数 strcpy strcpy函数的模拟实现 strcat strcat函数的模拟实现 strcmp strcmp函数的模拟实现 三、长度受限...
C语言函数的基本使用和递归小结
本章目标 秃头侠们好呀,今天我们一起学习函数! 目标: 本章主要掌握函数的基本使用和递归 函数是什么 数学中我们常见到函数的概念。但是你了解C语言中的函数吗? 维基百科中对...
C语言中四种取整方式,取余/取模运算以及负数取
目录 零向取整、负无穷向取整、正无穷向取整、四舍五入取整 总结 零向取整、负无穷向取整、正无穷向取整、四舍五入取整 如果将一个浮点数赋值给整形,只会保存整数位: 这种取...
C++中构造函数与析构函数的详解及其作用介绍
目录 构造函数 默认构造函数 有参构造函数 析构函数 析构函数例子 析构函数执行时机 局部对象 全局对象 构造函数 构造函数 (constructor) 是一种特殊的成员函数. 它会在每次创建类的新...
使用C语言实现学生成绩管理系统
最近正在学习C语言,搞了一个学生成绩管理系统的小程序,代码粗陋,大佬勿喷。 先上图: 整个程序采用链表来管理学生成绩,保存学生成绩用的是 文件处理函数,使用 fopen(FilePat...
C++指针与数组:指针详解
目录 一. What(什么是指针) 1. 地址初了解 2. 指针概念 3. 指针与指针变量 二. Why(为什么要有指针) 三. How(如何使用指针) 1. 基本定义 2. 取地址操作符 3. 解引用操作符 * 4. 结构体指...
C++或Go求矩阵里的岛屿的数量详解
目录 1、C++实现 2、go语言实现 参考文献 总结 给你一个由 ‘1'(陆地)和 ‘0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向...
一篇文章带你入门C++的异常处理
目录 一、背景 二、C++ 异常处理 三、抛出异常与捕获异常 四、catch(...)的作用 总结 一、背景 程序运行时常会碰到一些异常情况,例如: 做除法的时候除数为 0; 用 new 运算符动态分...
浅谈C++ 设计模式的基本原则
先上银行类案例代码如下: #includeiostream using namespace std; class BankWorker { public: void save() { cout "存款" endl; } void moveM() { cout "取款" endl; } void jiaofei() { cout "缴费" endl; } }; class AbBankWorker { pu...
带你用C语言实现strtok和字符串分割函数
目录 前言 一、strtok的基本使用 二、strtok的实现 总结 前言 字符串分割函数strtok,大家可能都知道他怎么使用,一旦要用的时候就会心生疑惑,不知道它的内部的实现,废话不多说,本...
C 语言基础之C 语言三大语句注意事项
目录 1、分支语句 2、if语句 3、switch语句 3.1语句结构 4、循环语句 4.1 while循环(do while类似) 4.2 do while循环 4.3 for循环 5、goto语句 在今天的内容介绍之前我们要知道:C语言中,由一个分...
C语言编程之扫雷小游戏空白展开算法优化
目录 写代码前,扫雷需要什么 进行主函数文件的代码 game文件以及函数步骤 在主函数文件中使用game函数 布值棋盘(雷盘和玩家棋盘) 打印棋盘函数 玩家排雷 计算雷数的函数 空白递...
C语言编程数据结构线性表之顺序表和链表原理分
目录 线性表的定义和特点 线性结构的特点 线性表 顺序存储 顺序表的元素类型定义 顺序表的增删查改 初始化顺序表 扩容顺序表 尾插法增加元素 头插法 任意位置删除 任意位置添加...
C语言实现BST二叉排序树的基本操作
本文实例为大家分享了C语言实现BST二叉排序树的基本操作代码,供大家参考,具体内容如下 BST-二叉排序树的几个基本操作。 头文件声明与函数定义 #include stdio.h#include stdlib.htypedef in...
C++中模板和STL介绍详解
目录 一、模板 1.1.函数模板 1.1.1.两种函数模板的实例化 1.1.2.模板参数的匹配原则 1.2.类模板 二、STL 总结 一、模板 对于一个交换函数,虽然C++支持函数重载,我们可以对多个交换函数...
C++ com编程学习详解
目录 COM简介 COM 规范 首先创建一个ATL工程,创建后你会看到一个idl文件 COM 原理学习 ActiveX 总结 COM简介 COM 全程为 component object model ,是一个二进制标准可以用于跨语言调用dll模块或者实...
详解C++11中模板的优化问题
1. 模板的右尖括号 在泛型编程中,模板实例化有一个非常繁琐的地方,那就是连续的两个右尖括号()会被编译器解析成右移操作符,而不是模板参数表的结束。我们先来看一段关于容...
一篇文章带你实现C语言中常用库函数的模拟
目录 前言 函数介绍 strlen(求字符串长度) strcpy(字符串拷贝) strcat(字符串追加) strcmp(字符串比较) strstr(找子字符串) memcpy(内存拷贝) memmove(内存移动) 总结 前言 C语言...
C++的内存管理详细解释
目录 一、C/C++内存分布 二、C语言中动态内存管理方式: 1、malloc/calloc/realloc区别: 三、C++中动态内存管理:new/delete 四、实现原理 五、面试常问问题 1、malloc/free和new/delete的区别 2、内...
C语言中枚举与联合体的使用方法(enum union)
目录 enum的定义 enum对比#define宏常量的好处 union的定义 联合体大小的计算 联合体配合算大小端的问题 总结 enum的定义 枚举顾名思义就是一一列举,把可能的取值一一列举。 枚举的使用...
C++类和对象到底是什么
目录 1、C++ 中的类 2、面向对象编程(Object Oriented Programming,OOP) 1、C++ 中的类 C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员...
C++代码实现链队列详解
目录 主要功能: 完整代码展示: 总结 主要功能: 初始化 、 入队 、 出队 、 取队头元素 、 销毁队列 、 输出队列 完整代码展示: #include iostreamusing namespace std;#define MAXSIZE 100typedef...
C++类成员初始化的三种方式
目录 一、初始化方式 1、初始化方式一:初始化列表 2、初始化方式二:构造函数初始化 3、初始化方式三:声明时初始化(也称就地初始化,c++11后支持) 二、声明时初始化-初始化列...
C语言编程C++柔性数组结构示例讲解
目录 绕指柔—柔性数组 柔性数组的特点: 第一个好处是:方便内存释放 第二个好处是:这样有利于访问速度 总结 绕指柔—柔性数组 也许你从来没有听说过柔性数组(flexible array)这...
C语言多文件编写详解
目录 关于多文件调用 关于多文件调用中的BUG extern BUG1: ifndef 与 endif 总结 关于多文件调用 只能有一个 main.c 文件 其余函数分别在 func1.c *********** func2.c ********** func3.c 。。。中实现 在...
C语言编程C++自定义个性化类型
目录 自定义类型 结构体 声明一个结构体类型 特殊声明 结构体自引用 结构体变量的定义和初始化 结构体内存对齐 结构体传参 位段 枚举 联合(共用体) 联合类型的定义 联合类型的声...
Visual Studio Code (VSCode) 配置搭建 C/C++ 开发编译环境
目录 前言 VSCode安装流程 1. 下载VScode 2. 安装C/C++扩展插件工具 3. 下载MinGW 4. 配置环境变量 5. 使用简单的.cpp文件配置C++环境 6. 运行 扩展 前言 工作多年,突然发现很多C++的基础都忘记了...
C++移动操作,RVO和NRVO详细
目录 一、移动操作 1、移动操作有关的函数 2、何时自动声明移动构造函数和赋值移动构造函数 3、何时自动移动 二、复制消除、RVO和NRVO 1、复制消除 2、RVO和NRVO 移动操作主要参考了...
c语言中exit和return的区别点总结
1、返回函数值的return是关键字,exit是一个函数。 return是语言级的,它表示调用堆栈的返回;exit是系统调用级的,它表示一个过程的结束。 2、return是函数的退出,exit是进程的退出。...