小菜问个数组的初始化和变量在类里和全局变量的问题?

125096 2014-07-01 09:32:58
DWORD kkk

class A
{
public: A();

byte g_DecryptByteMap[256]; //定义大小为256
//DWORD kkk;


}

A::A()
{
g_DecryptByteMap={1,2,6,0,4,8,5,1,7,88};//ERROR

}

关于数组初始化的问题,如果每个值都不一样要如何给数组赋值呢?

关于变量在全局的地方定义和和类里面定义,我调用的结果显示不一样,比如类里面的变量输出1,全局的变量输出2。某个值我想保持在类里面的变量,结果输出的结果我不是我想要下,定义成全局的就可以?
...全文
82 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pandorym 2014-07-01
  • 打赏
  • 举报
回复
1.
 g_DecryptByteMap={1,2,6,0,4,8,5,1,7,88};//ERROR
//花括号是初始化操作,而不用于赋值。
2. 如果是初始化倒是可以用花括号:
byte Data[9] = {0,1,2,3,4,5,6,7,8,9}
3.你可以定义全局变量,可以传地址引用,也可以用函数返回值。
我看你有戏 2014-07-01
  • 打赏
  • 举报
回复

#include <iostream>
typedef unsigned char byte;

struct ARR
{
	int m[256];
};

 const ARR g_ary =  {1,2,6,0,4,8,5,1,7,88};
class A
 {
 public:  
	 A():g_DecryptByteMap(g_ary)
	 {
		
	 };

	 void print()
	 {
		 for (int i=0;i<5;i++)
		 {
			 printf("%d,",g_DecryptByteMap.m[i]);
		 }
	 }

	 
struct ARR g_DecryptByteMap;
 //DWORD kkk;
 

};
int main()
{
	A a;
	a.print();
	system("pause");
	return 0;
}

我看你有戏 2014-07-01
  • 打赏
  • 举报
回复

#include <iostream>
typedef unsigned char byte;
class A
 {
 public:  
	 A()
	 {
		 byte tmp[256] =  {1,2,6,0,4,8,5,1,7,88};
			memcpy(g_DecryptByteMap,tmp,sizeof(tmp));
	 };

byte g_DecryptByteMap[256];   //定义大小为256
 //DWORD kkk;
 

};
int main()
{
	
	system("pause");
	return 0;
}

125096 2014-07-01
  • 打赏
  • 举报
回复
数组长度是256,并且每个值都是不一样的。这不是要我手动来完成吧?
我看你有戏 2014-07-01
  • 打赏
  • 举报
回复
不能用初始化列表。 只能用for语句一个一个赋值。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧