88 / 85 / 7
Регистрация: 16.05.2010
Сообщений: 272
1

отличия между static и auto переменными

11.04.2012, 15:42. Показов 4699. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Объясните пожалуйста чем отличаются переменные static и auto? Если можно покажите их отличие в простом примере.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2012, 15:42
Ответы с готовыми решениями:

Отличия спецификаторов decltype и auto
Спецификатор auto : - выводит тип переменной из инициализатора; - может задействовать только...

Отличия между структурами и классами
Объясните пожалуйста, в С++, получается, что структура отличается от класса только тем, что у нее...

В чем отличия между union и struct?
Здравствуйте! Вопрос в названии темы

Объясните отличия между двумя кодами
Всем привет ! Чем отличается такой код for(...){ ... ... } от такого for(...)

4
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
11.04.2012, 15:47 2
auto при выходе из блока уничтожается
под static память выделяется один раз и освобождается при завершении программы
1
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
11.04.2012, 15:52 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
void foo()
{
    static int x = 0; // попробуй удалить static
    ++x;
    
    std::cout << x << "\n";
}
int main()
{
    for(int i = 0; i < 10; ++i)
        foo();
}
Автоматические переменные уничтожаются при выходе из функции, статические - инициализируются один раз и не теряют значение при выходе из функции, живут до завершения программы.

В примере вызывается функция 10 раз, в ней есть локальная статическая переменная. Видно, что значение не теряется между её вызовами, будет напечатано: 1, 2, 3, ....

Если убрать спецификатор static, переменная будет автоматической, т.е. будет создаваться каждый раз заново при вызове функции и инициализироваться заново. Будет напечатано: 1, 1, 1, ...
1
88 / 85 / 7
Регистрация: 16.05.2010
Сообщений: 272
11.04.2012, 17:05  [ТС] 4
panicwassano,
Schizorb, огромное спасибо! Все бы преподователи в универах обьясняли как вы) Да нет, же! Они надектуют всякой дребедени. Про static и auto в начале года не понял, а тут экзамены скоро по всему что прошли, вот решил подтянуть)
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
11.04.2012, 21:25 5
Wbgury книжки надо читать
0
11.04.2012, 21:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.04.2012, 21:25
Помогаю со студенческими работами здесь

В чем отличия между выражением (expression) и оперетором (statement)?
Здравствуйте, скажите пожалуйста в чем отличия между выражением и оператором? Если x=100 это...

Что общего и какие отличия между одномерным и двумерным массивами
Что общего и какие отличия между одномерным и двумерным массивами

Какие есть отличия между struct и class кроме модификаторов доступа по умолчанию?
Какие есть отличия между struct и class кроме модификаторов доступа по умолчанию?

Можно ли просчитать дистанцию между переменными в map?
values.push_back(necessaryCoor) - - - - Вектор содержит только координаты ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru