关于auto的迷之特性

在C++11标准后,auto从一个帮助编译器判断是否放在寄存器中的标志符,变成了用于自动推导变量类型的标志符.在初始化变量时,类型可以直接写作auto,由编译器从后面的赋值表达式,推导出实际的类型,免去输入复杂类型的麻烦…

Git的cherry-pick

之前使用git,在另一个分支上比较长时间地进行开发,开发过程中需要master分支上更新的一个小模块的代码,而为了避免未知的问题,并不想先将master分支合并进来.当时使用了直接复制代码的方法进行解决. 之后在对git…

std::chrono的用法

在完成 *nix环境下的串口通信 时, 遇到了一些并行上的问题,于是尝试使用高精度计时器,来计算等待各个锁的时间,以进行进一步的分析,于是用到了 std::chrono 库,这个库是 C++11 标准后,提供与时间相关对…

C++的字节流缓冲区

今天被要求实现一个可以实现带timeout的串口读取类.通过之前对并行编程的学习,决定新开一个线程读取数据,放入缓冲区,然后通过 std::condition_variable 和 std::mutex 的配合实现对调用…

C++的模板推导规则

在之前的 文章 中,谈到了对于 std::bind 的一些 VC++ 上的实现细节,作为之前的延续,也顺便调查了一下常用的 std::forward 的实现机制. std::forward 是在模板编程中常用的一个函数,…