静态 vs 函数静态 vs 成员函数静态的 C++ 内存布局

标签 c++ memory static

考虑一些 Class.cpp 文件中的 3 个不同的静态数组:

static char array0[8];

/*static*/ char Class::s_array1[8]; //static declared in Header Class.h

void Class::DoStuff()
{
    static char f_array2[8];
}

是否明确定义了这 3 个数组是否在内存中相对于彼此连续,以及顺序是什么? (还是取决于编译器/平台)

最佳答案

数组在内存中始终是连续的,但未定义它们相对于彼此的结束位置。

关于静态 vs 函数静态 vs 成员函数静态的 C++ 内存布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23254926/

相关文章:

java - Java如何管理内存中的变量

swift - 加载 Collection View 时节省内存

c# - 如何存储/处理 C# 中其他类可用的数据

java - 带有 @Value 注释和单个方法的字段。我应该让它们都静态吗?为什么/为什么不呢?

java - 静态方法中变量的竞争条件

c++ - WP8 : how to get back an IntPtr in c++

c++ - 优化 VS2010 c++ 中的方法调用(多线程)

c++ - 如何在多采样纹理中渲染颜色和深度?

c++ - 如何清除c中的内存

c++ - 是否存在阻止采用D范围的C++语言障碍?