Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание глобальной струтуры из обьекта

6.1K
01 апреля 2008 года
Gfunk
42 / / 31.01.2006
Допустим я создаю обьект от класса.Этот обьект что-то делает,и паралельно создает глобальную структуру(переменную,массив),которая распологается не в стеке а в памяти и что самое главное не изчезает при вызове деструктора обьекта.Когда я создаю обьект второй раз,то я могу проверить создана ли глобальная структура или нет,записать а нее какие то данные,прочитать их.
Чуствую что это связано с созданием семафора или мутекса.
11
01 апреля 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Gfunk
Допустим я создаю обьект от класса.Этот обьект что-то делает,и паралельно создает глобальную структуру(переменную,массив),которая распологается не в стеке а в памяти и что самое главное не изчезает при вызове деструктора обьекта.Когда я создаю обьект второй раз,то я могу проверить создана ли глобальная структура или нет,записать а нее какие то данные,прочитать их.
Чуствую что это связано с созданием семафора или мутекса.



архитектура страдает, зачем объект (структура, переменная,массив)нужна без инициализировавшего его объекта? кто память подчищать за собой будет?

ЗЫ: а вопроса толи не понял, толи он не прозвучал...

6.1K
01 апреля 2008 года
Gfunk
42 / / 31.01.2006
Вопрос был как это сделать.
А подчищать будет другой обьект.
6.1K
01 апреля 2008 года
Gfunk
42 / / 31.01.2006
Поясню зачем это нужно:
В цикле вызывается функция.
Функция создает при вызове массив наполняет его данными и что главное
массив этот не меняется при следующим вызове.А сам процесс наполнения занимает много времени.Так вот надо из цикла викинуть создание массива,так как каждый раз тоже-самое делать накладно.А функция построена так что при ее вызове создается обьект,а вконце деструктор вызывется.Я думаю постоянный массив создать вне обьекта и ввести флаг.Функция при вызове смотрит есть ли массив если да то использует его данные если нет то создает его.
11
01 апреля 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Gfunk
Вопрос был как это сделать.
А подчищать будет другой обьект.



Код:
struct MyGlobalStruct
{
....
};
MyGlobalStruct *pMyGlobalStruct
class A
{
  public:
  A();
};

class B
{
  protected:
  ~B();
};

A::A()
{
  pMyGlobalStruct = new MyGlobalStruct();
}

B::~B()
{
  if (pMyGlobalStruct) delete pMyGlobalStruct;
}
87
01 апреля 2008 года
Kogrom
2.7K / / 02.02.2008
Если я не ошибаюсь, то тут нужна статическая переменная класса.
Что-то типа того:

Код:
#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;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог