8
ответов

Способы ASSERT выражений во время сборки в C

Я убираю какой-то старый код, который повсеместно использует «магические числа» для установки аппаратных регистров, и я хотел бы использовать константы вместо этих чисел, чтобы сделать код несколько более ...
вопрос задан: 21 June 2013 15:20
5
ответов

Что static_assert делает, и для чего Вы использовали бы его?

Вы могли дать пример, где static_assert (...) ('C++ 11') решил бы проблему в руке изящно? Я знаком со временем выполнения, утверждают (...). Когда должен я предпочитать static_assert (...) по постоянному клиенту...
вопрос задан: 10 September 2019 06:52
5
ответов

C ++ static_assert не работает как ожидалось [дубликат]

Я просто столкнулся с следующим кодом, где первый static_assert не будет терпеть неудачу, если используется templaterized pred1, а в main x объявлен с пустым списком инициализаторов. Это что-то ...
вопрос задан: 23 March 2015 20:12
5
ответов

GCC имеет встроенное время компиляции, утверждают?

Наше существующее время компиляции утверждает, что реализация основана на отрицательном индексе массива, и это обеспечивает плохой диагностический вывод на GCC. static_assert 0x C++ является очень хорошей функцией и диагностическим выводом...
вопрос задан: 10 January 2013 07:37
5
ответов

статичный утверждают для переменных константы?

Static утверждает, очень удобны для проверки вещей во время компиляции. Простые помехи утверждают, что идиома похожа на это: шаблон <bool> структура StaticAssert; шаблон <> структура StaticAssert <...
вопрос задан: 21 January 2012 22:03
5
ответов

BOOST_STATIC_ASSERT без повышения

Так как повышение запрещается в компании, я работаю, поскольку я должен реализовать ее функциональность в чистом C++. Я изучил источники повышения, но они, кажется, слишком сложны для понимания, по крайней мере, для меня. Я...
вопрос задан: 30 December 2009 14:05
2
ответа

Статичный утверждают в C

То, что лучший способ состоит в том, чтобы достигнуть статичного времени компиляции, утверждает в C (не C++) с особым акцентом на GCC?
вопрос задан: 2 August 2010 06:32
0
ответов

C++11 static_assert: параметризованные сообщения об ошибках

В предыдущем вопросе я хотел использовать static_assert, чтобы ограничить параметр шаблона определенным подтипом. На вопрос был дан ответ, код для архивирования выглядит следующим образом: template <...
вопрос задан: 23 May 2017 12:17
0
ответов

Почему предпочтительнее статическое утверждение на основе шаблона, а не статическое утверждение на основе typedef?

Существует две широко используемые реализации статического утверждения для версий C ++, которые еще не построены -в static_assert. Первый используется в Boost и использует шаблон и его специализацию ...
вопрос задан: 23 May 2017 12:15
0
ответов

constexpr, static _assert и встраивание

Ранее я спрашивал о перегрузке функций на основе того, являются ли аргументы constexpr. Я пытаюсь обойти неутешительный ответ на этот вопрос, чтобы сделать более умную функцию утверждения. Это...
вопрос задан: 23 May 2017 11:47
0
ответов

Есть ли функция времени компиляции / макрос, чтобы определить, является ли структура C ++ 0x POD?

Я хотел бы иметь C ++ 0x static_assert, который проверяет, является ли данный тип структуры POD (чтобы предотвратить другие программы трамбовки от непреднамеренного взлома с новыми членами). т.е. структура A // является типом POD {...
вопрос задан: 23 May 2017 11:45
0
ответов

Как сделать статическое утверждение, что приведение указателя тривиально?

Допустим, у меня есть следующие типы: struct A {int a; }; struct B {int b; }; структура C: публичная A, публичная B {int c; }; Указатель AC * может быть преобразован в указатель A * без изменения фактического ...
вопрос задан: 23 May 2017 09:58
0
ответов

Как проверить, является ли параметр шаблона степенью двойки?

Я хочу создать структуру, которая статически выделяет массив из 2^N байтов, но я не хочу, чтобы пользователи этой структуры указывали этот размер в качестве показателя степени. Пример: my_stupid_array
вопрос задан: 16 October 2013 09:24
0
ответов

Принудительно использовать тип шаблона через static_assert

Я пытаюсь понять полезность static_assert и хочу знать, может ли он помочь мне в реализации дизайна, и если да, то как. У меня есть общий шаблонный класс, который скрывает свою реализацию ...
вопрос задан: 16 July 2013 14:27
0
ответов

Когда использовать `static _assert `вместо SFINAE?

Я использовал (и видел использование )статического _утверждения для отметки нежелательных значений значений параметров шаблона. Однако во всех случаях, с которыми я сталкивался, кажется, что лучше и элегантнее отключать нежелательные...
вопрос задан: 5 October 2012 20:31
0
ответов

Интегрировать имя типа в вывод static_assert?

Мне нравится выдавать полезные ошибки / сообщения, и я также хочу сделать это для своих static_asserts. Проблема в том, что они зависят от параметров шаблона. Обычно эти параметры отображаются по ходу ...
вопрос задан: 5 October 2012 07:38
0
ответов

Как объединить статические _assert с sizeof и stringify?

Использование памяти очень важно в моем приложении. Поэтому у меня есть специальные утверждения, которые проверяют размер памяти во время компиляции и выдают статическое _утверждение, если размер отличается от того, что мы...
вопрос задан: 17 July 2012 16:27
0
ответов

Статическое утверждение, если возможно, динамическое утверждение в противном случае?

Допустим, у меня есть шаблонная функция, которая принимает целое число и константную ссылку на экземпляр типа T. Теперь, в зависимости от целого числа, допустимы только некоторые T, в противном случае выдается исключение...
вопрос задан: 14 July 2012 07:23
0
ответов

Должен ли static_assert запускаться с определением типа?

Я заметил, что статические утверждения в шаблонах классов не запускаются, когда экземпляры определяются по типу. #include шаблон структура test_assert { ...
вопрос задан: 28 June 2012 19:29
0
ответов

Статическое утверждение для проверки элементов данных класса static const?

У меня есть несколько классов с элементами данных "static const". Я хотел бы знать, как проверить их значения во время компиляции с помощью static_assert. Могу ли я поместить static_assert непосредственно в тело класса? (...
вопрос задан: 16 June 2012 19:05
0
ответов

Как статически проверить равенство двух соотношений?

У меня есть 4 константы int: const int a1 = 1024; const int a2 = 768; const int b1 = 640; const int b2 = 480; и я хочу статически проверить, что у них такое же соотношение. Для статической проверки я ...
вопрос задан: 11 May 2012 09:18
0
ответов

static_assert не распознает параметр шаблона const char* как constexpr: ошибка g++?

Рассмотрим приведенные ниже определения. char right_string[]="::right_one."; char неверная_строка[]="::wrong_one."; шаблон void f(){ static_assert(str==::right_string, "Передайте мне ::...
вопрос задан: 1 May 2012 23:39
0
ответов

Могу ли я исключить некоторые методы из ручного инстанцирования шаблонов?

У нас есть сложные классы шаблонов, которые имеют некоторые методы, которые не будут работать с определенными политиками или типами. Поэтому, когда мы обнаруживаем эти типы (во время компиляции, используя type-traits), мы запускаем статический ...
вопрос задан: 21 January 2012 23:18
0
ответов

C ++ 11 - static_assert в функции constexpr?

Как правильно выполнить static_assert в функции constexpr? Например: constexpr int do_something (int x) {static_assert (x> 0, «x должно быть> 0»); вернуть x + 5; } Это не ...
вопрос задан: 24 December 2011 08:29
0
ответов

static_assert - способ динамической настройки сообщения об ошибке

Есть ли способ сделать строку static_assert динамически настраиваемой и затем отображается? Я имею в виду что-то вроде: // псевдокод static_assert (Check_Range :: value, "Value of" + ...
вопрос задан: 15 October 2011 18:03
0
ответов

Как проверить, является ли выражение временным?

С помощью следующего макроса: #define ASSERT_IF_TEMP (expr) static_assert (?, «Является временным!»); Что мне поставить для вопросительного знака?
вопрос задан: 2 October 2011 10:39
0
ответов

Может static_assert проверить, является ли тип вектором?

Может static_assert проверить, является ли тип вектором? IE, int вызовет утверждение, а vector - нет. Я думаю о чем-то вроде: static_assert (decltype (T) == ...
вопрос задан: 5 August 2011 09:12
0
ответов

В C ++ 0x есть что-то вроде static_assert, которое выдает предупреждение вместо ошибка?

Я хотел бы сделать это для использования, которое может быть неэффективным, но не обязательно неправильным.
вопрос задан: 24 May 2011 08:56
0
ответов

decltype в static_assert

Почему этот (static_assert) в определении класса не работает? шаблон struct X {static_assert (std :: is_same
вопрос задан: 22 February 2011 06:57
0
ответов

Используйте static_assert для проверки типов, переданных макросу

К сожалению, у меня осталось несколько макросов, оставшихся от исходной версии моей библиотеки, в которой использовался довольно сумасшедший C. В частности, у меня есть серия макросы, которые ожидают передачи определенных типов ...
вопрос задан: 27 October 2010 01:41