ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 июля
1187364 Топик полностью
Argon (13.03.2022 18:20, просмотров: 211) ответил evgeniy1294 на Вот, уже теплее. Нужно изучить принцип работы аллокатора - должна быть реализация в стандартной библиотеке системы. Возможно, что-то есть в документации на ОС.
Если я верно понял о чем речь, то в ОС нет какого-то специального аллокатора - все объекты/процессы размещаются статически на этапе компиляции. Стало быть проблема - в стеке? 

И вот еще что интересно/непонятно:
В классе-синглтоне


class Doozer {

public:

static Doozer* instance() {

	static Doozer* doozer = 0;

	if(!doozer) doozer = new Doozer();

    return doozer;

}

bool parse() {

  return false;

}

private:

    Doozer() = default;

};


переменную static Doozer* doozer нельзя разместить в секции private (и в public тоже), т.к. функция instance ее не видит.

Почему так? Оно ведь в пределах одного класса, вроде должно видеться.
Может, компилятор какой-то урезанный, из-за чего все эти проблемы? Маловероятно, конечно...