Рассмотрим эти два случая заголовка C++:Настраивает ли константа статического массива на раскладку общей библиотеки?
Case 1:
class Test {
public:
static int TEST_DATA[];
};
int Test::TEST_DATA[] = { 1, 2, 3, 4 };
Случай 2:
class Test {
public:
static int const TEST_DATA[];
};
int const Test::TEST_DATA[] = { 1, 2, 3, 4 };
ли Const в последнем случае только для самоналоженных проверок во время компиляции или делает это влияет на раскладку общей библиотеки на Mac/Linux/Windows?
Update: Согласно ответам, компилятор может поставить константный материал на странице только для чтения. Does Visual C++ в Windows или GCC на Mac или Linux фактически размещают данные const на странице только для чтения? Возможно, я тестировал неправильный путь, но на Mac на Intel элементы const-версии казались доступными для записи.