分类: Programming

时间戳引起的精度转换思考

起因是一个求前后两个时间戳的中间值,简单的把两个时间戳相减再乘以一个比率(0.235)的事,但发现结果不对……算出来的新时间戳怎么比原先的较大时间戳的值还要大?!

double的%lf格式化精度默认6位

在一次存储经纬度的字符串时,虽然经纬度是用double存的,但转字符串的精度不对,然后才发现%lf精度默认只有6位。C++20标准提供的format方法倒是可以完整的输出字符串。

解决min/max宏问题

在MFC工程中使用某开源C++类时,遇到了min/max宏的编译错误,询问了作者,被告知应该定义NOMINMAX来解决。

C++中的std::function和std::bind

C++中可调用对象的虽然都有一个比较统一的操作形式,但是定义方法五花八门,这样就导致使用统一的方式保存可调用对象或者传递可调用对象时,会十分繁琐。C++11中提供了std::function和std::bind统一了可调用对象的各种操作。