Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Rengen
3 / 3 / 0
Регистрация: 15.01.2012
Сообщений: 67
#1

Опять static - C++

16.04.2012, 09:05. Просмотров 296. Ответов 3
Метки нет (Все метки)

Есть два файла.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//////////////////////////////////////
 
//main.cpp
 
class SomeClass
{
public:
   SomeClass(REC* Param,wchar_t* inCaption)
   {
        X=Param.left;
        Y=Param.top;
        Height=Param.bottom;
        Width=Param.right;
        Caption=inCaption;
   }
private:
   int X,Y,Height,Width;
   wchar_t* Caption;
};
 
void main()
{
    
    for(int i=0;i<100500;i++)
    {
        SomeFunc();
    }
}
 
///////////////////////////////////////
 
//Function.cpp
 
void SomeFunc()
{
    REC SomeRec;
    SomeRec.top=1;
    SomeRec.left=2;
    SomeRec.bottom=3;
    SomeRec.right=4;
    static SomeClass a(&SomeRec,L"SomeText");
    //и дальше действия над этим классом
}
так вот вопрос: static в функции будет постоянно пересоздоваться с этими параметрами или один раз и дальше код будет выполняться без строки static? Нужно создать класс в отдельной функции и только один раз при этом этот класс должен быть виден только в этой функции и сохранять сои значения при выходе из неёж
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2012, 09:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Опять static (C++):

Static - C++
zagolovok.hpp static int a; основной модуль #include &lt;iostream&gt; #include &quot;zagolovok.hpp&quot; int main

static const? - C++
если мне нужна константа в классе, как ее лучше объявить со static или без? разница будет только в том, что со статиком мне можно будет...

static-член - C++
Привет. Как сделать чтобы при каждом создании объекта класса, увеличивался его счетчик. вот сами классы: class Base{ public: ...

Private: static - C++
В хедере есть клас point, клас точек, которые должны иметь нумерацию. В поле private у него есть static атрибут free_id, в который...

static class - C++
Хочу создать static class, в котором будет находится static переменная, чтобы она была доступна из разных классов. helper.h static...

Назначение static ? - C++
Здравствуйте. Я уже прочитал в двух книгах про статик,читал в википедии,но так и не понимаю для чего он ? Кучи больших текстов и объяснений...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
16.04.2012, 09:11 #2
Нельзя создать класс, можно создать объект определенного класса. Статический объект создастся всего один раз при запуске программы, и будет существовать до ее завершения.
0
Rengen
3 / 3 / 0
Регистрация: 15.01.2012
Сообщений: 67
16.04.2012, 09:17  [ТС] #3
Цитата Сообщение от Toshkarik Посмотреть сообщение
Нельзя создать класс, можно создать объект определенного класса.
Ой! Да ошибочка.
Так ,а что насчет того как компилятор с ним возится? Код ,по созданию этого объекта, переносится в начало программы и из функции удаляется? То есть в функции остаются только все операции над этим объектом?
0
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
16.04.2012, 09:25 #4
Ошибся, статический объект в функции создается всего один раз во время первого вызова данной функции, и продолжает существовать до завершения программы.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2012, 09:25
Привет! Вот еще темы с ответами:

static и const - C++
static void A(); Что дает этот статик? Что он вообще дает? int A() const; Что дает конст в данном случае? static int...

Static переменные - C++
Написал небольшую программу, подключил к проекту name.h файл. В нем описание переменных static int a, b; Почему их значения можно...

Static Library - C++
Привет всем! Нужно проанализировать (понять, что она делает) статичную библиотеку, собранную под Linux (.a), используя Windows. Как это...

Static class c++ - C++
Можно ли сделать класс чисто статическим? То есть не прописывать отдельно для каждой переменой, функции static, а одним разом всех ? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.04.2012, 09:25
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru