C++
啦啦拉德玛西亚
这个作者很懒,什么都没留下…
展开
-
C 语言 define 变参__VA_ARGS__使用
C 语言 define 变参__VA_ARGS__使用在C语言的标准库中,printf、scanf、sscanf、sprintf、sscanf这些标准库的输入输出函数,参数都是可变的。在调试程序时,我们可能希望定义一个参数可变的输出函数来记录日志,那么用可变参数的宏是一个不错的选择。在C99中规定宏也可以像函数一样带可变的参数,如:#define LOG(format, ...) fprintf(stdout, format, __VA_ARGS__) 其中,...表示可变参数列表,_转载 2020-11-10 18:31:14 · 254 阅读 · 0 评论 -
malloc引出的问题
A文件:void *zmalloc(size_t size) { void* ptr = malloc(size+PREFIX_SIZE); return ptr;}B文件:void* ptr = zmalloc(1024);问题:使用ptr时导致堆栈错误。在zmalloc打印地址是48位(实际是64位打印时去除了高位的0),B文件中的ptr打印却是32位原因:在B文件中未包含A的头文件。而C99之前未声明函数默认返回值类型为int类型。所以指针从64位转为32位....原创 2020-11-02 15:31:12 · 123 阅读 · 0 评论 -
c++中的智能指针
这里写自定义目录标题新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 ...转载 2019-08-20 11:02:03 · 106 阅读 · 0 评论 -
动态扩展buffer block
#pragma once#include <corecrt_memory.h>#include <list>#include <mutex>#define BLOCK_BUFFER_SIZE 4096#define INIT_BLOCK_SIZE 2class CBlock{public: CBlock() : _head...原创 2019-09-12 12:00:40 · 446 阅读 · 0 评论