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

Как програмно узнать сколько элементов в перечислении? - C++

Восстановить пароль Регистрация
 
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
09.08.2013, 15:51     Как програмно узнать сколько элементов в перечислении? #1
Допустим, есть такое перечисление.
C++
1
enum Month{JANUARY=1, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER};
sizeof(Month) показывает размер одного элемента
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2013, 15:51     Как програмно узнать сколько элементов в перечислении?
Посмотрите здесь:

C++ програмно загруз веб страницу вставить текст и програмно нажать кнопку.
C++ Как узнать сколько раз использувалась функция?
Как узнать, сколько памяти занимает тот или иной элемент программы? C++
Как узнать, сколько секунд прошло с 1 января 1970 гда до определённой даты? C++
C++ Как узнать, в процесе отладки, сколько памяти занимает программа?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
09.08.2013, 16:00     Как програмно узнать сколько элементов в перечислении? #2
C++
1
int n = DECEMBER - JANUARY;
так что ли?
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
09.08.2013, 16:00     Как програмно узнать сколько элементов в перечислении? #3
В общем случае никак
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
09.08.2013, 16:01     Как програмно узнать сколько элементов в перечислении? #4
BigLow, ну если всё так, как ты написал, то начиная с февраля все месяцы будут равны JANUARY + 1. Т.е. int monthsCount = DECEMBER выдаст 12
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
09.08.2013, 16:09  [ТС]     Как програмно узнать сколько элементов в перечислении? #5
Цитата Сообщение от coloc Посмотреть сообщение
int n = DECEMBER - JANUARY;
смысл понял. только правильней бедет int n = DECEMBER

nexen, спасибо

Добавлено через 1 минуту
но тут все равно нужно знать название последнего элемента. А если я не знаю, то тогда не получится посчитать
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
09.08.2013, 16:11     Как програмно узнать сколько элементов в перечислении? #6
Цитата Сообщение от BigLow Посмотреть сообщение
JANUARY=1
ИМХО лучше начинать индексацию с нуля а не с единицы. Потом путаницы много будет и непонятные ошибки. Например при работе с массивами.
NoMasters
09.08.2013, 16:14
  #7

Не по теме:

coloc, нулябрь надо вводить, известная тема же ж.

BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
09.08.2013, 16:16  [ТС]     Как програмно узнать сколько элементов в перечислении? #8
Цитата Сообщение от NoMasters Посмотреть сообщение
В общем случае никак
неужели нет ничего такого, как для массивов? sizeof() для массива выдает количество байтов, которое он занимает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2013, 16:20     Как програмно узнать сколько элементов в перечислении?
Еще ссылки по теме:

C++ Как узнать в програме сколько раз числа меняются с чётного на нечётное?
C++ Как узнать, сколько на дисках свободного места
Как узнать, сколько байт прочитано? C++

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

Или воспользуйтесь поиском по форуму:
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
09.08.2013, 16:20     Как програмно узнать сколько элементов в перечислении? #9
BigLow, кроме этого, нет гарантии, что значения в перечислении будут идти с постоянным шагом 1.
Yandex
Объявления
09.08.2013, 16:20     Как програмно узнать сколько элементов в перечислении?
Ответ Создать тему
Опции темы

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