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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Wbgury
 Аватар для Wbgury
88 / 85 / 2
Регистрация: 16.05.2010
Сообщений: 272
11.04.2012, 15:42     отличия между static и auto переменными #1
Объясните пожалуйста чем отличаются переменные static и auto? Если можно покажите их отличие в простом примере.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
11.04.2012, 15:47     отличия между static и auto переменными #2
auto при выходе из блока уничтожается
под static память выделяется один раз и освобождается при завершении программы
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
11.04.2012, 15:52     отличия между static и auto переменными #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, ...
Wbgury
 Аватар для Wbgury
88 / 85 / 2
Регистрация: 16.05.2010
Сообщений: 272
11.04.2012, 17:05  [ТС]     отличия между static и auto переменными #4
panicwassano,
Schizorb, огромное спасибо! Все бы преподователи в универах обьясняли как вы) Да нет, же! Они надектуют всякой дребедени. Про static и auto в начале года не понял, а тут экзамены скоро по всему что прошли, вот решил подтянуть)
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
11.04.2012, 21:25     отличия между static и auto переменными #5
Wbgury книжки надо читать
Yandex
Объявления
11.04.2012, 21:25     отличия между static и auto переменными
Ответ Создать тему
Опции темы

Текущее время: 12:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru