struct MyGlobalStruct
{
....
};
MyGlobalStruct *pMyGlobalStruct
class A
{
public:
A();
};
class B
{
protected:
~B();
};
A::A()
{
pMyGlobalStruct = new MyGlobalStruct();
}
B::~B()
{
if (pMyGlobalStruct) delete pMyGlobalStruct;
}
Создание глобальной струтуры из обьекта
Чуствую что это связано с созданием семафора или мутекса.
Цитата: Gfunk
Допустим я создаю обьект от класса.Этот обьект что-то делает,и паралельно создает глобальную структуру(переменную,массив),которая распологается не в стеке а в памяти и что самое главное не изчезает при вызове деструктора обьекта.Когда я создаю обьект второй раз,то я могу проверить создана ли глобальная структура или нет,записать а нее какие то данные,прочитать их.
Чуствую что это связано с созданием семафора или мутекса.
Чуствую что это связано с созданием семафора или мутекса.
архитектура страдает, зачем объект (структура, переменная,массив)нужна без инициализировавшего его объекта? кто память подчищать за собой будет?
ЗЫ: а вопроса толи не понял, толи он не прозвучал...
А подчищать будет другой обьект.
В цикле вызывается функция.
Функция создает при вызове массив наполняет его данными и что главное
массив этот не меняется при следующим вызове.А сам процесс наполнения занимает много времени.Так вот надо из цикла викинуть создание массива,так как каждый раз тоже-самое делать накладно.А функция построена так что при ее вызове создается обьект,а вконце деструктор вызывется.Я думаю постоянный массив создать вне обьекта и ввести флаг.Функция при вызове смотрит есть ли массив если да то использует его данные если нет то создает его.
Что-то типа того:
Код:
#include <iostream>
using namespace std;
class A
{
public:
static int a;
};
int A::a;
void func()
{
A objA;
objA.a = 5;
}
int main()
{
func();
cout << A::a;
return 0;
}
using namespace std;
class A
{
public:
static int a;
};
int A::a;
void func()
{
A objA;
objA.a = 5;
}
int main()
{
func();
cout << A::a;
return 0;
}