Нет ничего похожего на private
секцию заголовочного файла. Если вы объявите массив глобально в заголовочном файле, вы можете получить несколько определений (не утечка памяти). Это ошибка компоновщика.
Лучший способ - объявить массив как extern
в заголовочном файле и определить в файле .cpp:
//myfile.h
extern int a[100];
//myfile.cpp
int a[100];
Примечание : Если вы объявляете массив static
или внутри безымянного namespace
внутри заголовочного файла:
//myfile.h
static int a[100];
OR
//myfile.h
namespace { int a[100]; }
тогда вы не получите проблему с множественным определением. Однако новая копия массива будет создаваться в каждом файле .cpp
, заголовок которого #include
ed.