【发布时间】:2019-08-03 11:40:21
【问题描述】:
我一直在努力将一些代码从 c++(我可以体面地阅读的语言)转换为 Python(我可以很好地编写的语言),但遇到了一些让我非常困惑的行:
unsigned char byte = *(bytes+currentByte);
float * pF = (float*)(bytes+currentByte);
std::string str((char*)(bytes+currentByte), numBytes);
现在,这些行一开始看起来很正常,直到我确切地意识到变量是如何定义的:
// From the .h file
unsigned char* bytes;
int currentByte;
所以因为我不明白最终会发生什么,所以我不能希望转换代码。
谁能向我解释一下添加unsigned char * 和int 会做什么?谢谢。
【问题讨论】:
-
更让我吃惊的是浮动*
-
指针运算可用于任何类型的指针,
void*除外。 -
@Stefan 如果您想查看其余代码:github.com/nkligang/ccbi2ccb/blob/master/ccbiReader.cpp
-
啊,这很有道理...不错的 bit 代码 xD
标签: c++