1
ответ

C++ со строгим контролем типов 0x сравнение перечисления

почему экземпляры C++ со строгим контролем типов не являются 0x перечислениями, сопоставимыми друг с другом? Обновление: Они сопоставимы в gcc 4.6; я не уверен, работало ли это в gcc 4.4.
вопрос задан: 2 September 2012 20:57
0
ответов

С учетом «черного ящика» enum, возможно ли проверить, является ли предоставленный интеграл действительным членом перечисления в C ++?

Я пишу класс EnumSet для проекта. Я хотел бы иметь метод EnumSet :: AllOf (), если это возможно, как в Java. Очевидный способ сделать это - перебрать каждый элемент std :: ...
вопрос задан: 17 March 2019 20:50
0
ответов

Реализация операторов для перечислимого класса

После обсуждения вопроса «Увеличение и уменьшение» класса enum я хотел бы спросить о возможной реализации арифметических операторов для типов классов enum. Пример из ...
вопрос задан: 8 December 2018 11:18
0
ответов

Как вывести значение класса enum в C++11

Как я могу вывести значение класса enum в С++ 11? В C++03 это так:#включить , используя пространство имен std; перечисление А { а = 1, б = 69, с = 666 }; int main (){ A a = A ::c;...
вопрос задан: 4 October 2017 17:34
0
ответов

Могу ли я использовать значения класса перечисления в качестве аргументов для функций varargs?

C ++ 11 добавляет классы enum, которые являются перечислениями с более строгим типом - значения классов enum не будут неявно преобразованы в значения других классов enum или целых чисел, а форвардные объявления разрешены ...
вопрос задан: 8 July 2015 15:44
0
ответов

std::get использует класс перечисления в качестве аргумента шаблона

Я использую std::tuple и определил перечисление класса, чтобы каким-то образом «называть» каждое из полей кортежа, забывая об их фактических индексах. Поэтому вместо этого: std::tuple tup; /* ... */ ...
вопрос задан: 24 May 2012 17:18
0
ответов

Совместимость ссылок перечислений и классов перечислений

Предположим, что существует API C++11, использующий классы перечислений :// api.hpp перечислимый класс E {A, B, C}; пустота f (E );... // api.cpp пустота f (E e ){ if (e == E ::A )... } Теперь предположим, что я хотел бы использовать это...
вопрос задан: 28 April 2012 07:25
0
ответов

validate integer — это некоторый элемент класса enum (C++11)

i имеет некоторый класс enum класс enum Foo { A=1, B=18 , Z=42 }; Я хочу проверить, может ли какое-то целое число быть преобразовано в Foo. Как это сделать? это для проверки во время выполнения (...
вопрос задан: 22 November 2011 19:44