gpt4 book ai didi

c++ - const 与宏和内存生命周期

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:20:16 24 4
gpt4 key购买 nike

我有一个巨大的数组,它是通过脚本按字面意义编写的。它基本上是一个转换为数组的图像文件。

我可以将正文定义为宏或将其放入 header 中的常量类型。如果我确实将其设置为常量,内存生命周期将是多长?它会持续整个程序吗?它的持续时间是否与它使用的范围一样长,就像在函数中一样?使用宏会是更好的选择吗?

最佳答案

我会将数组定义移动到源文件中(可能是单独移动):

// bitmap.cpp
char const my_bitmap[] = {
0x12, 0x34, 0x56, // lots of data here...
};

然后编写一个 header ,只是有一个外部声明:

//bitmap.h
extern char const my_bitmap[];

这使所有代码(包括 header )都可以访问数据,但确保您只有一份数据拷贝供所有人使用。它还避免了毫无意义地重新编译表示位图的代码,为每个需要访问数据的文件重新编译一次。

关于c++ - const 与宏和内存生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5276195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com