编程技术 / C++ / c++ byte
从C++的基本类型来看,在C++的基本类型中,没有byte类型,只是通常字节byte被解析成无符号字符。即unsigned char。
例1、
源码清单:
int Analysis(byte* InputImage, int nHeight, int nWidth);
那么,我们小结一下:首先,BYTE并不是C++的关键字,仅仅是ASCII对字节的描述,在C++要使用byte的时候是将byte通常被解析为unsigned char。
针对这一点对c++使用byte类型,需要做相应的转换。举例:
例2、
源码清单:
unsigned char* uc; std::string s( reinterpret_cast< char const* >(uc) ) ;
其次、针对C++中使用byte数组的情况,如果所使用的字节数组包括空值,那么需要使用长参数的构造函数来进行构造。因为这个空值在字符串中来说实际上也是字节数组所包括的一部分,也就是空值也占字节。举例如下:
例3、
源码清单:
size_t len; unsigned char* uc; std::string s( reinterpret_cast(uc), len ) ;
第三、C++ BYTE*可能被定义为typedef unsigned char*,不过这不能肯定的这样认为,只不过是帮助理解C++ byte而已。换句话说,如果BYTE* 即为 unsigned char*,那么我们就可以使用std::string的构造函数转换为std::string的泛型。也就是需要两个泛型迭代器来进行过度转换。举例:
例4、
源码清单:
const BYTE* str1 = reinterpret_cast ("Hello World");
int len = strlen(reinterpret_cast(str1));
std::string str2(str1, str1 + len);
分析案例源码:像源码清单一样的泛型转换就是安全的吗?不见得,如果BYTE是unsigned char,那么就可能包括非ASCII字符,也可以包括空值,那么strlen所返回的长度就不正确了。
最后,如果我们把c++ byte理解成typedef unsigned char BYTE的话,那么我们可以使用如下的构造函数来实现。举例。
例5、
源码清单:
string ( const char * s, size_t n ); string ( const char * s );
-
发布时间:2014-05-02 11:51:45 点击:150
【 c++ byte型和makeword 2 2及word型 】c或c++中 BYTE是什么?winsock api中有提到关于makeword,其描述的大致意思是由两个BYTE型就可以合并成一个WORD型,而makewor...
-
发布时间:2014-04-26 12:56:15 点击:112
在c++中,c++ byte数组算是一个难点,那么如何将char数组转换成byte数组呢?我们说过c++中byte被解析为unsigned char。那么现在我们需要用c++代码实现把字符数组转换...
-
发布时间:2014-05-02 06:12:28 点击:189
【 c++ byte 】关于c++ byte的问题,到底c++中有没有byte这个基本类型,我找了很多关于c++方面的书籍,但是都没有看到哪一本书籍上有介绍关于c++ byte方面的知识。我...
-
发布时间:2014-04-26 12:04:29 点击:184
c++本身不存在BYTE关键字。但在C++中byte可以用unsigned char来表示,即无符号类型。那么如何将C++ 中的Byte转成整形呢? 其实在C++中,无论是BYTE转int还是int转BYTE...
-
发布时间:2014-04-26 19:25:38 点击:115
解释内存填充的概念。 下面给出的类的声明,你可以预测内存填充将有多大? 在这个类中,你能重新排序的数据成员吗(从小到大的方式)? 32位系统中输出编译的情况,和64...
-
发布时间:2014-04-26 19:05:55 点击:55
在C++中,如果需要在.h文件中声明一个字节数组变量,也就是通过.cpp文件的方式来进行初始化。比如代码如下。 代码清单: foo.hbyte aaa[4];foo.cpp//相关方法内;aaa=...
-
发布时间:2014-04-25 20:55:42 点击:130
c++ byte 如何转换成16进制的string呢?前面我们分析过了c++中没有byte关键字,详见《c++ byte类型详解》。不过已经分析了实际上c++中byte就是unsigned char(无符号字...
- 共 1页7条记录
