c++ byte 数组初始化
时间:2014-04-26 19:05 来源: 我爱IT技术网 作者:山风
在C++中,如果需要在.h文件中声明一个字节数组变量,也就是通过.cpp文件的方式来进行初始化。比如代码如下。
代码清单:
foo.h
byte aaa[4];
foo.cpp
//相关方法内;
aaa={0x49,0x91,0x6E,0xDC};
当编译以上源代码的时候,C++报错,提示语法错误,syntax errors saying missing;如”}”缺少等等。不管怎样修改,但始终声明都不正确,但如果是下面的代码就不会报错了。
byte aaa[4]={0x49,0x91,0x6E,0xDC};
按照道理:
byte aaa[4];
aaa={0x49,0x91,0x6E,0xDC};
这两行代码和byte aaa[4]={0x49,0x91,0x6E,0xDC};是一个道理。为什么会出错了呢?很困惑。这是不是说明不在能在.h文件和.cpp文件中来声明一个字节数组呢?那到底该如何对C++ byte 数组初始化。其实,在初始化数组的时候就应该对多个元素进行声明。对应的代码如下。
代码清单:
foo.cpp ======= aaa[0] = 0x49; aaa[1] = 0x91; aaa[2] = 0x6E; aaa[3] = 0xDC;
或者用下面的这种方式
int tmp = {0x49,0x91,0x6E,0xDC};
for (int i = 0; i < 3; i++)
aaa[i] = tmp[i];
所以,我们不难得出一个结论,当然在此说明一下,并不是笔者喜欢下结论,只是相对而言。当我们对c++ byte数组在一个.h中声明,而要在.cpp中来初始化的时候,我们需要单独的对这个数组来做声明。并对多个元素进行初始化。或者我们定义一个整形的临时变量,然后用for循环的方式来遍历这个临时的数组即可。更多知识点详见:http://www.52ij.com/jishu/cpp/cbyte/
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
