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

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

Войти
Регистрация
Восстановить пароль
 
 
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
#1

Назначение static ? - C++

09.03.2013, 15:59. Просмотров 960. Ответов 20
Метки нет (Все метки)

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


Вы бы не могли максимально просто и понятно объяснить?) Неплохо было бы с простыми примерами. То есть когда для переменных использовать,когда для функций.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2013, 15:59     Назначение static ?
Посмотрите здесь:

Объяснить назначение ключевого слова static - C++
Здравствуйте! Я пытаюсь разобраться с использованием static`a и у меня такой вопрос: будет ли корректно работать программа...

Static - C++
zagolovok.hpp static int a; основной модуль #include <iostream> #include "zagolovok.hpp" int main

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

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

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

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

Опять static - C++
Есть два файла. ////////////////////////////////////// //main.cpp class SomeClass { public: SomeClass(REC*...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2013, 18:26     Назначение static ?
Еще ссылки по теме:

static const - C++
объясните, пожалуйста, вот такую странную конструкцию (накопал в старой проге): после #include идет следующее: static const char...

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

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

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

Static string - C++
Здраствуйте, у меня задание написать клас, и в нем есть строка с приставкой static (static string name_univer). Для нее нужно написать...


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

Или воспользуйтесь поиском по форуму:
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.03.2013, 18:26     Назначение static ? #21
Ну как сказать, 6.7/4:
The zero-initialization of all block-scope variables with static storage duration or thread storage duration is performed before any other initialization takes place. Constant initialization of a block-scope entity with static storage duration, if applicable, is performed before its block is first entered. An implementation is permitted to perform early initialization of other block-scope variables with static or thread storage duration under the same conditions that an implementation is permitted to statically initialize a variable with static or thread storage duration in namespace scope. Otherwise such a variable is initialized the first time control passes through its declaration
...
Инициализация нулём выполняется до начала выполнения программы.

Инициализация константой — при первом входе в блок.

Разрешено, но не обязательно, инициализировать любую статическую переменную до начала выполнения программы, если 1) такая инициализация не меняет значений других переменных; 2) такая инициализация даст тот же результат, если бы была действительно выполнена при первом входе в блок.

Если какие-то сомнения, то инициализируется при проходе потока исполнения через определение переменной.


Не то, чтобы Пратт был совсем не прав, но всё же инициализация до выполнения программы не всегда выполняется.


Вот именно поэтому не рекомендуется пользоваться статическими переменными. Потому что чёрт ногу сломит в правилах их инициализации и уничтожения.
Yandex
Объявления
09.03.2013, 18:26     Назначение static ?
Ответ Создать тему
Опции темы

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