由于脚本的原因,我有一个巨大的数组.它基本上是一个转换为数组的图像文件.
我可以将主体定义为宏或将其放入标头中的const类型.如果我把它设置为const,那么内存寿命是多少?它是否适用于整个计划?它是否会持续使用它的范围,就像在函数中一样?使用宏是一个更好的选择吗?
我将数组定义移动到源文件(可能是自己):
// bitmap.cpp
char const my_bitmap[] = {
0x12, 0x34, 0x56, // lots of data here...
};
Run Code Online (Sandbox Code Playgroud)
然后编写一个只有 extern声明的标题:
//bitmap.h
extern char const my_bitmap[];
Run Code Online (Sandbox Code Playgroud)
这为所有代码(包括标题)提供了对数据的访问权限,但确保您只有一个数据副本供每个人使用.它还避免了无意义地重新编译代表位图的代码,一次针对需要访问数据的每个文件.