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

Перечисления - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как подключить vector? http://www.cyberforum.ru/cpp-beginners/thread808579.html
Господа, я пишу некий "большой" проект, в ктором мне понадобилось использовать vector. Я написал маленький учебный проект, в котром не было ничего кроме функции main и одного единственного класса, в котором я написал несколько примеров работы с вектором - для самого себя. В этом учебно мпроекте было достатчоно написать в начале класса \ #pragma once #include <iostream> #include <vector>...
C++ компилятор считает объект l-value, но объект таковым не является итак есть базовый абстрактный класс Дерево, есть два его наследника Плодовое Дерево и Лесное Дерево. Также существует класс Контейнер Деревьев. В функции добавления в контейнер выскакивает ошибка "error C2166: l-value specifies const object", не могу понять, почему head.h #ifndef _TREEE_ #define _TREEE_ #include <iostream> #include <cmath> using namespace std; enum Type {list, hvoy}; http://www.cyberforum.ru/cpp-beginners/thread808573.html
Зеркальное отображение слов C++
Помогите пожалуйста, я не знаю, вообще не имею представления, как сделать данное задание: В каждой строке удалить пары слов, в которых одно слово является зеркальным отображением второго.
C++ Конструктор перемещения и оптимизация
Имеем тестовый код: #include <iostream> using namespace std; struct A { A( int v ) { cout << "ctor" << endl; this->v = new int(v);
C++ Хеш таблица и файлы http://www.cyberforum.ru/cpp-beginners/thread808561.html
Нужно создать файл (формата *.тхт) определенного размера для базы данных. В этом файле должна быть записана хеш таблица. как создать файл и зарезервировать для него место я знаю, а вот как его заполнить шапками хеш таблицы и внутри него делать указатели на нужное место я не знаю. именно эти указатели и заводят меня в тупик.
C++ Как перегрузить оператор ввода из файла? Допустим у нас есть класс: class A {friend ifstream &operator>>(ifstream &, A &); private: char a; char b; }; И как перегрузить этот оператор для него? Добавлено через 8 минут подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
15.03.2013, 00:08     Перечисления
Потому что выбирается первый попавшийся целочисленный тип, в который влазят все значения констант. Какой именно — зависит от реализации, лишь бы все значения были им представимы. Поэтому для вашего value может быть выбран хоть char, хоть unsigned long, хоть int. Естественно, в этом случае появляется куча значений, которые можно присвоить подобной переменной, но которые не равны ни одной из констант перечисления. Этой фичей иногда пользуются, поэтому в Си++ 1) её решили не убирать, оставив константы перечислений фактически числами, а не символьными значениями (буквально именами); 2) в соответствии с принципом нулевой стоимости, неявные проверки на вхождение присваиваемого значения множеству констант перечисления не выполняются (кто пользуется данной фичей, тот и делает явные проверки, если думает, что не сможет пользоваться аккуратно; хотя компиляторы могут выдавать предупреждения в данном случае).
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru