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

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

Войти
Регистрация
Восстановить пароль
 
Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
#1

Начальное значение для переменных-перечислений - C++

09.02.2013, 21:59. Просмотров 449. Ответов 4
Метки нет (Все метки)

C++
1
enum {purchasing, selling, noAction} action;
При таком объявлении, начальное значение action в 10 из 10 запусков - purchasing. Суть вопроса: Это закономерное поведение или всего лишь воля судьбы, а на самом деле Action - UB?

И разрешена ли такая инициализация?

C++
1
enum {purchasing, selling, noAction} action = noAction;
Добавлено через 1 час 44 минуты
Эксперты С++, Вы где?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2013, 21:59     Начальное значение для переменных-перечислений
Посмотрите здесь:

Восстановить начальное значение числа - C++
из книги "сборник задач по программированию/2-е издание"--Златопольский нужно решение на задачу 2.24,на С++

Возможно ли изменить начальное значение переменной? - C++
У нас есть код: int main(){ const int val=5; cout<<val; //Какая то магия... } Нужно, чтобы после запуска программы...

Сделать цикл где начальное, конечное значение и шаг вводятся с клавиатуры - C++
Условие(смотри вложение) Необходимо составить цикл с постусловием где начальное и конечное значение, а так же шаг вводятся с клавиатуры ...

Breakpoint: при попытке вывести элементы класса указатель теряет начальное значение - C++
При попытке вывести элементы класса указатель теряет начальное значение. template<typename T> void Graph<T>::print() { ...

Как дописать в конец числа цифру при этом обнулив его начальное значение на с++? - C++
Как дописать в конец числа цифру при этом обнулив его начальное значение на с++? Например было 0,152 стало 0,0005; 1,22=0,005

Диапазон перечислений - C++
Как узнать диапазон перечислений? enum e2 {a = 3, b = 9}; В книге написано диапазон перечислений равен (0; 15) Говорится что...

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

Узнать количество перечислений в enum - C++
Добрый день! Как узнать количество перечислений в ABCDEF. enum ABCDEF{ P1, P2, P3 }; //Как-то так должно быть: ...

Значение переменных - C++
Для Х, принимающего значения от XN до XK с шагом ∆X, определить Y. При условии: Y=A,если x>g Y=B,если 0<=x<=g Y=C,если x<0 ...

Значение переменных - C++
Для Х, принимающего значения от XN до XK с шагом ∆X, определить Y. При условии: Значения всех переменных определить по таблице...

Значение переменных - C++
Помогите написать программу: Для Х, принимающего значения от XN до XK с шагом ∆X, определить Y. При условии: Y=A,если x>g ...

Значение переменных - C++
Для Х, принимающего значения от XN до XK с шагом ∆X, определить Y. При условии: Y=A,если x>g Y=B,если 0<=x<=g Y=C,если x<0 ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
09.02.2013, 22:14     Начальное значение для переменных-перечислений #2
если вопрос академический - то я не знаю ответов
если практический, то так хитро и туманно лучше не писать. раз возникают вопросы - то это плохой код.
Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
10.02.2013, 20:06  [ТС]     Начальное значение для переменных-перечислений #3
Ребят, ну что никто не знает ?
NoMasters
Псевдослучайный
1744 / 1087 / 71
Регистрация: 13.09.2011
Сообщений: 3,115
10.02.2013, 20:10     Начальное значение для переменных-перечислений #4
Если переменная глобальная, то по умолчанию она инициализируется нулём, у emun первый индекс по умолчанию тоже ноль.
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
10.02.2013, 20:13     Начальное значение для переменных-перечислений #5
Цитата Сообщение от Пёс Посмотреть сообщение
При таком объявлении, начальное значение action в 10 из 10 запусков - purchasing. Суть вопроса: Это закономерное поведение или всего лишь воля судьбы, а на самом деле Action - UB?
глобальные переменные инициализируются нулем, так что action будет 0, даже если у Вас будет перечисление начинаться не с нуля

Добавлено через 1 минуту
Цитата Сообщение от Пёс Посмотреть сообщение
И разрешена ли такая инициализация?
C++
1
enum {purchasing, selling, noAction} action = noAction;
можно и так.

а вот так что попадется в памяти, то и будет.
C++
1
2
3
4
5
#include <iostream>
int main(){
    enum {purchasing=43, selling, noAction} action;
    std::cout<<action<<std::endl;
}
Yandex
Объявления
10.02.2013, 20:13     Начальное значение для переменных-перечислений
Ответ Создать тему
Опции темы

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