这两天遇到一个问题,就是从数据库获得二进制数据,如何转换成指定类型信息。
到现在明白了,其实二进制数据就是数据的内存表达。无论是double还是int,他们的表示都是放在内存内。而数据库以char*的结果返回,自己就迷糊了,总在想如何将char*通过一些运算变换到int,double。殊不知其实这个 char*数组就是double存储的地方。
reinterpret_cast,利用最不推荐的转换进行转换,因为确定知道了类型信息,所以这里的使用也是安全的。
以后再不要动不动就去要bitset这个东西了,实在难用。
到现在明白了,其实二进制数据就是数据的内存表达。无论是double还是int,他们的表示都是放在内存内。而数据库以char*的结果返回,自己就迷糊了,总在想如何将char*通过一些运算变换到int,double。殊不知其实这个 char*数组就是double存储的地方。
reinterpret_cast,利用最不推荐的转换进行转换,因为确定知道了类型信息,所以这里的使用也是安全的。
以后再不要动不动就去要bitset这个东西了,实在难用。