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

Enum и типы данных. Как задать тип значений явно, и какой тип будет при переполнении? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ ООП реализованная через паттерны проектирования http://www.cyberforum.ru/cpp-beginners/thread157829.html
Друзья мои дорогие, очень прошу , если у кого есть готовые приложения на языке С++ где можно увидеть реализацию паттернов проктирования , не могли бы скинуть для проссмотра или хотя бы код с коммментариями , пожалуйста. спс за внимание
C++ Считывние вектора структур из файла .txt Всем доброго времени суток. При выполнении задания, у меня возникла такая проблема: Имеется класс, одно из полей - вектор стуктур. Также дан текстовой файл, в каждой строке которого должен быть записа объект данного класса, т.е тип строчки в файле имеет вид: char ... char... char .... vector<char ... int> (количество элементов вектора неизвестно (каждый раз разное)). Проблема в том, что... http://www.cyberforum.ru/cpp-beginners/thread157807.html
компилятор ругается на структуру C++
попалась вот такая вот структура для графа, но компилятору она не нравится.... template <class V, class E> struct graph { struct v_info; struct e_info; struct v_info {
Непонятная ошибка сегментации C++
В программе используется дерево, элементы которого описываются и создаются таким образом: struct Node { Node* children; int num; vector <pair <string, unsigned int> > words; }; Node* create_node()
C++ Возврат указателя на массив из функции http://www.cyberforum.ru/cpp-beginners/thread157779.html
Здравствуйте. Пытаюсь вернуть указатель на массив из функции. #include <iostream> using namespace std; int* ReturnArray() {
C++ Создание класса, представляющего многочлен Доброго времени суток, Профессионалы! Имеется задание: Создать класс Polynom ( многочлен ) с операциями +, +=, -, -=, =, ==, !=, >, <, >=, <=, *, *= Для выполнения операций >, <, >=, <=, надо подставить некоторое число вместо X? И , что делать с ==, != ? подробнее

Показать сообщение отдельно
#pragma
Временно недоступен
 Аватар для #pragma
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
06.08.2010, 23:49  [ТС]     Enum и типы данных. Как задать тип значений явно, и какой тип будет при переполнении?
Почему я enum выбрал. у меня функция выглядит так (ещё не доделал)
код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
        /// ---------------------------------------------------------------- ///
        enum IS_CONFLICTING_DECLARATION_ARGS {//This is only a try,
                                              //possibly to be removed
           SEARCH_IN_SHARED_VARS      = 0x000001,
           SEARCH_IN_SHARED_ARRS      = 0x000020,
           SEARCH_IN_SHARED_LBLS      = 0x000300,
           SEARCH_IN_GLOBAL_FNCS      = 0x004000,
           SEARCH_IN_ALL_DATA         = 0x050000,
           SEARCH_SHARED_DATA_ONLY    = 0x600000
        };
 
        bool isConflictingDeclaration (string declared_name, _uint32_t args = 0)
        {
           if (
                (findVarName (declared_name, current_funcs) >= 0) ||
                (findVarName (declared_name, current_vars ) >= 0) ||
                (findVarName (declared_name, current_arrs ) >= 0) ||
                (findVarName (declared_name, current_lbls ) >= 0)
              )
              return true;
 
           // Only checking current (local) variables
           if ( args == 0 )
              // Conflicting = no
              return false;
 
           if (
                 ( (args & SEARCH_IN_GLOBAL_FNCS) &&
                   (findVarName (declared_name,functions_stack->front()) >= 0) )
 
                                            ||
 
                 (  (args & SEARCH_IN_SHARED_VARS) &&
                    has_shared_vars                &&
                    (findVarName (declared_name,shared_vars) >= 0)  )
 
                                            ||
 
                 (  (args & SEARCH_IN_SHARED_ARRS) &&
                    has_shared_arrs                &&
                    (findVarName (declared_name,shared_arrs) >= 0)  )
              )
              return true;
 
           // Conflicting = no
           return false;
        }
        /// ---------------------------------------------------------------- ///

И весь этот код сидит внутри класса,включая enum.
А вызов функции выглядит так:
C++
1
2
if ( pool.isConflictingDeclaration (name,pool.SEARCH_IN_ALL_DATA) )
...
С define-ми так не получится
Вся идея этого enum-а - использовать как дополнение к конкретной функции,то есть более ни в каких операциях он не должен учавствовать. Ну не знаю,может,это и плохо,в любом случае можно сделать некое поле констант или ещё что. Вопрос был чисто теоретический
 
Текущее время: 01:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru