编程语言
文章平均质量分 93
zhaojia92
这个作者很懒,什么都没留下…
展开
-
无锁多线程控制基本模型
介绍了无锁环境下编程的多线程控制模型,采用原子变量控制的无锁环境下每个线程均不会阻塞。常见的模型有 读-修改-写 和 状态机。原创 2022-10-04 20:54:36 · 518 阅读 · 1 评论 -
一个Json解析库的设计和实现
本文依照编译原理基本思想构建了一个Json解析库,包括词法分析、语法分析、树型优化和Json树生成等部分。具有参考意义。原创 2022-04-05 15:21:46 · 1191 阅读 · 0 评论 -
C++模板推断函数类型
借助模板特例化和偏特化可以完成函数返回类型、输入参数类型的推断。我们直接步入主题: 首先预热编译器对偏特化的类型匹配。C++模板库中,std::is_same可判断两个类型是否相同,这里我们可以借助偏特化自己实现一个is_same模板:template<typename T,typename U>class is_same{public: static constexpr bool value = false;};template<typenam...原创 2020-09-20 22:21:57 · 1344 阅读 · 0 评论 -
C++中函数传递数组的探索
一、传入数组 一个C函数可以把数组作为形参,在C++具体表现形式有三种:void func(int para[]);void func(int para[20]);void func(int *para);这三种形式虽然表现不同,在C++中都看成相同的,等价于void func(int *para)。在传递实参时,数组名被隐式转换成指向数组第一个元素的指原创 2016-03-04 21:44:12 · 3640 阅读 · 0 评论 -
STL源码剖析中rotate算法的说明
在《STL源码剖析》中,对于rotate算法没有很好地解释,__rotate_cycle是如何发挥作用的,其中很值得研究。SGI STL的rotate函数是将一个序列[first,last)的前半部分[first,middle)和后半部分[middle,last)进行调换。整个算法分为3种不同实现。对于书中所说的最后一种算法,本质就是序列的循环移位。原创 2016-12-24 20:24:44 · 910 阅读 · 0 评论 -
补码和相关性质
本文介绍了计算机补码的定义、补码的性质和补码与其他编码的转换关系。原创 2017-05-07 21:35:33 · 3604 阅读 · 0 评论