C++
文章平均质量分 83
WhiteTian
思绪来得快,走的也快,但偶尔会在这里停留。
展开
-
C++ 从Lambda的使用到对C++闭包语法的理解/Lambda的坑
原创文章,转载请注明出处。谢谢,创作不易,大侠请留步… 动起可爱的双手,来个赞再走呗 <( ̄︶ ̄)>原创 2021-08-29 21:19:03 · 1659 阅读 · 1 评论 -
C++ 调用7z进行解压缩,并返回解压缩进度和异常信息
原创文章,转载请注明出处。C++ 7z解压缩前言解决方案1>下载bit7z,编译1.1>下载1.2>解压1.3>编译《bit7z-master》,拿到 bit7z64.lib1.4> 准备7z.dll1.2>编码1.2.1>头文件1.2.2>cpp文件1.2.3>使用介绍前言像Word,Excel,PPT等类似的编辑软件都有一个特点,就是可以保存成一个文件, 比如我们的PPT里内置了视频图片文字等,它的后缀是pptx。其实这个pptx就是一个压.原创 2021-08-10 19:27:52 · 11072 阅读 · 27 评论 -
C++ Inline关键字
原创文章,转载请注明出处。C++ Inline记录前言inline 函数工作原理inline 函数作用消除函数调用的开销宏定义(define)和内联函数(inline)的区别1>内联函数是在编译时展开,而宏在编译预处理时展开;在编译的时候,内联函数直接被嵌入到目标代码中去,而宏只是一个简单的文本替换。2>内联函数是真正的函数,和普通函数调用的方法一样,在调用点处直接展开,避免了函数的参数压栈操作,减少了调用的开销。而宏定义编写较为复杂,常需要增加一些括号来避免歧义。3>宏定义只进行文本.原创 2021-06-27 22:34:08 · 14409 阅读 · 4 评论 -
C++ Static关键字作用介绍
原创文章,转载请注明出处。C++ Static前言1.全局静态变量2.局部静态变量3.静态函数4.类的静态成员5.类的静态函数前言Static一共有哪些用法呢?1.全局静态变量在全局变量前加上关键字static,全局变量就定义成一个全局静态变量。**内存中的位置:** 静态存储区,在整个程序运行期间一直存在。**初始化**:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化);**作用域**:全局静态变量在声明他的文件之外是不可见的,准确地说是从定义.原创 2021-06-25 13:22:05 · 10459 阅读 · 1 评论 -
C++ 内存分区
原创文章,转载请注明出处。C++ 内存分区:栈、堆、全局/静态存储区、常量存储区、代码区。栈: 存放函数的局部变量、函数参数、返回地址等,由编译器自动分配和释放。堆: 动态申请的内存空间,就是由 malloc 分配的内存块,由程序员控制它的分配和释放,如果程序执行结束还没有释放,操作系统会自动回收。全局区/静态存储区(.bss 段和 .data 段): 存放全局变量和静态变量,程序运行结束操作系统自动释放,在 C 语言中,未初始化的放在 .bss 段中,初始化的放在 .data 段中,C++ 中.原创 2021-06-24 13:45:02 · 17490 阅读 · 0 评论 -
C++ 程序编译过程
前言C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织,形成最终生成可执行代码的过程。过程图解如下:从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则为链接过程。1. 编译过程编译过程又可以分成两个阶段:编译和汇编。编译编译是读取源程序(字符流),对之进行词法和语法转载 2021-06-23 22:48:57 · 21942 阅读 · 1 评论 -
C++ 动态链接库
原创文章,转载请注明出处。C++ Lib和Dll的加载加载Dll1>通过LoadLibary加载, GetProcAddress调用加载Dll1>通过LoadLibary加载, GetProcAddress调用如果加载失败,通过GetLastError()获取失败原因。下面是LoadLibary的示例代码第一步,在.h中声明了static HMODULE hDLL;#include<Windows.h> //加载的头文件class QIDCardReader : .原创 2021-06-01 18:12:59 · 34686 阅读 · 1 评论 -
C++ Set / UE4 TSet
原创文章,转载请注明出处。一. 关于 C++ setC++的STL之所以被广泛的使用,不单单是因为提供了vector,string,list等容器,更重要的使STL封装了许多复杂的数据结构算法和大量常用数据结构操作。比如vector封装的是数组,动态可扩容数组。list封装了链表,双向链表。map和set封装了二叉树等,同时他们的成员函数又符合大家的使用习惯。所以在所有的STL容器用起来的时候,大家都不会太陌生。set,必须要介绍的是set是一个关联式的容器。储存同一类型数据,并..原创 2021-04-27 22:13:57 · 582 阅读 · 0 评论 -
C++ 单例模式
原创文章,转载请注明出处。本文主要从单例的用处以及问题所做介绍原创 2021-04-24 21:54:10 · 40732 阅读 · 11 评论