![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 83
木章永想要平静的生活
这个作者很懒,什么都没留下…
展开
-
从零开始的Socket编程 一
本文先介绍了socket通信的基本流程,然后介绍了socket通信相关的接口.原创 2022-11-06 17:47:16 · 979 阅读 · 0 评论 -
从零开始的Socket编程 零
介绍Socket的概念,了解Socket是什么以及Socket被设计出来是为了做什么的;然后介绍Socket的原理原创 2022-11-05 15:29:40 · 474 阅读 · 0 评论 -
C++实现Go中的Slice
使用C++实现类似Go中的slice的功能原创 2022-05-22 11:36:09 · 647 阅读 · 0 评论 -
C++解析multipart/form-data
背景使用boost.beast实现简单的HTTP服务,但是boost.beast没有提供对表单数据的解析,为此需要自己实现解析表单数据。application/x-www-form-urlencoded的格式与URL的查询字符串格式一样,只是会被URL编码,比较容易处理但multipart/form-data相对而言比较复杂multipart/form-datamultipart/form-data主要是为了解决application/x-www-form-urlencoded编码格式在传输大量二原创 2021-08-03 15:01:22 · 6275 阅读 · 13 评论 -
基于mongocxx实现对MongoDB存储的文件的随机读取
背景最近所开发的项目使用MongoDB的GridFS保存文件,且文件大部分均大于500M,在程序运行过程中需要读取文件数据进行处理。但是MongoDB提供的mongocxx只能将整个文件下载下来或者暂时保存在内存中。每次处理数据都需要下载到本地是比较耗时的,且每次处理完还需要删除临时文件。GridFS是将一个大文件分成多个chunk进行保存的,因此考虑每次进下载文件的一个chunk到内存中。总体设计为了对读取MongoDB中的文件与读取本地文件的接口统一起来,增加了一个抽象基类,对本地文件的读取也通原创 2021-08-03 08:55:47 · 382 阅读 · 0 评论 -
C++ const的使用
摘要在C++中,const可以用在很多的场合,本文尝试说明const常用的几种场景,并解释为什么要这样使用。const的含义在进行讨论之前,先说明const是个什么东西。const其实是一个语义约束,告诉编译器和其他程序员某值应该保持不变。在程序编译的过程中该约束由编译器保证,如果违反了const约束,编译报错。函数形参数列表最常使用const的大概就是在函数的参数列表了吧,如:int max(const int a, const int b);通常应该将函数的参数声明为const,告诉编原创 2021-03-28 21:15:22 · 481 阅读 · 0 评论 -
C++编程注意事项——构造函数
C++ 编程注意事项 —— 构造函数摘要构造函数使用explicit阻止隐式类型转换区分拷贝构造函数和赋值运算符的不同使用引用传递,避免值传递构造函数对于自定义的类型,使用explicit阻止执行隐式类型初始化对于用户自定义的类型,初始化由构造函数执行。将构造函数声明为explicit可以阻止隐式类型转换。被声明为explicit的构造函数通常比non-explicit的构造函数更好,除非有充分的理由,否则所有的构造函数都应该声明为explicit在显式类型转换使得程序员真的知道自己在做什么原创 2021-03-13 22:58:01 · 159 阅读 · 1 评论 -
C++实现ANSI编码转换为UTF-8编码格式文件
文章结构:本文的先介绍了常见的几种编码格式:ANSI,Unicode,UTF-8,在进行编码转换之前,需要先判断文件的编码格式,在编码转换完成之后,需要将文件保存为UTF-8编码格式的文件。文本文件编码格式介绍在计算机内部,所有的数据都是以二进制的形式存储的。在存储文本时,需要把文本信息转换为二进制进行保存,而在显示时则需要把二进制转换为文本信息显示出来。编码就是二进制与显示的字符之间转行的规...原创 2019-08-10 14:47:36 · 6081 阅读 · 0 评论 -
基数排序(C++实现)
基本思想基数排序(radix sort)又称桶排序(bucket sort)。主要用于整数的排序。通过提取整数的各个位的 值,将其存放到对应的桶中,再将各个桶按照顺序,将桶里面的值依次提取出来。进行多次循环,单次循环后数据还是处于无序状态,但是当最后依次循环完成时,数据是有序的。步骤得到要统计的数据中最大数的位数,作为循环的次数i从要排序的数据中取出一个数据提取出该值的当前位的值,将其...原创 2019-05-30 23:31:37 · 1109 阅读 · 0 评论 -
C++ 模板函数 二分查找
C++ 模板函数 二分查找简单二分查找使用模板函数实现二分查找接收函数指针作为比较函数进一步优化简单二分查找二分查找也称对半查找,是一种很常用的,高效率的搜索算法,时间复杂度为O(log N)。该算法假定要查找的数据已经升序排序完毕。算法的思路比较简单,在这里主要是作为一个C++模板函数的一次练习。下面是百度百科上对二分查找查找过程的介绍,忘记了的同学可以看看。首先,假设表...原创 2018-12-30 21:49:54 · 3607 阅读 · 0 评论