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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Выбор первого ЯП для изучения http://www.cyberforum.ru/cpp-beginners/thread803964.html
Всем привет. Я хочу начать учить свой первый ЯП, до этого изучал pascal и C#(Четверь книги Шилдта по 4.0). Есть желание писать программы под Linux(ubuntu), точнее я хотел бы написать свой аудио-плеер. Пока склоняюсь к C++ или Java. Какой на ваш взгляд ЯП стоит учить?
C++ Сделать эту же программу через классы и указатели Есть программа, её нужно реализовать, используя классы и указатели. Помогите это сделать! (Программа считает расстояние, заносит значение в массив и сортирует по возрастанию) #include <iostream.h> #include <math.h> #include <conio.h> #include <string> const int n=1000; int A; http://www.cyberforum.ru/cpp-beginners/thread803962.html
Даны натуральное число n, действительные числа a1, …, an C++
Текст задачи Даны натуральное число n, действительные числа a1, …, аn. Если последовательность а1, …, an упорядочена по не убыванию (т. е. Если а1<=a2<=…<=an), то оставить ее без изменения. Иначе получить последовательность аn, …, a1.
C++ Перегрузка оператора <
У меня 2 файла . Przedzial.h и Przedzial.cpp В первом только класс и названия метод и т.д. Во втором описание. Przedzial.h #include <string> #include <iostream> #ifndef DW__PRZEDMIOT_H__ #define DW__PRZEDMIOT_H__
C++ error C2504: 'TwoDimentinalShape' : base class undefined http://www.cyberforum.ru/cpp-beginners/thread803917.html
Всем здравствуте, мой конкретный класс не видит свой абстрактный класс, может я что-то напутала, взгляните плиз свежим взглядом, а то я уже час проверяю порядок включения инклюдов и не вижу где я напутала // это самый верхний абстрактный класс #ifndef SHAPE_H #define SHAPE_H #include <iostream> using std::cout; class Shape
C++ зашифровать текстовый файл Помогите исправить код. Зашифровать каждое слово в файле отдельным ключом (первое слово - нулём, второе – единицей, третье – двойкой, …, 256-ое слово – числом 255, 257 – нулём, 258 – единицей, …) #include <iostream> #include <windows.h> #include <string.h> #include <cstring> using namespace std; подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.03.2013, 18:26     Назначение static ?
Ну как сказать, 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) такая инициализация даст тот же результат, если бы была действительно выполнена при первом входе в блок.

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


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


Вот именно поэтому не рекомендуется пользоваться статическими переменными. Потому что чёрт ногу сломит в правилах их инициализации и уничтожения.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru