0
ответов

перегрузка constexpr

Связанный: функция, возвращающая constexpr, не компилируется. Я чувствую, что constexpr ограничен в полезности в C ++ 11 из-за невозможности определить две функции, которые в противном случае имели бы одно и то же ...
вопрос задан: 23 May 2017 11:46
0
ответов

Is constexpr really needed?

I have been looking at the new constexpr feature of C++ and I do not fully understand the need for it. For example, the following code: constexpr int MaxSize() { ... return ...; } void foo(...
вопрос задан: 12 May 2017 22:18
0
ответов

Вычисление факториала небольшого целого числа во время компиляции

Я только что реализовал (еще раз )рекурсивный шаблон для вычисления факториала целого числа во время компиляции (кто бы мог подумать, что когда-нибудь он мне действительно понадобится! ). Всё-таки вместо прокатки...
вопрос задан: 16 February 2017 01:19
0
ответов

Определенные пользователем литеральные аргументы не являются constexpr?

Я тестирую определенные пользователем литералы. Я хочу, чтобы _fac возвращала факториал числа. Вызов функции constexpr работает, но это не позволяет мне сделать это с помощью шаблонов, так как ...
вопрос задан: 1 February 2017 12:53
0
ответов

Как объявить constexpr extern?

Можно ли объявить переменную extern constexpr и определить ее в другом файле? Я пробовал, но компилятор выдает ошибку: объявление переменной constexpr 'i' не является определением в .h: ...
вопрос задан: 11 August 2016 06:40
0
ответов

Почему в C++11 constexpr такой ограничительный?

Как вы, вероятно, знаете, в C++11 появилось ключевое слово constexpr. В C++11 введено ключевое слово constexpr, которое позволяет пользователю гарантировать, что функция или конструктор объекта является компилируемым ...
вопрос задан: 11 August 2016 00:20
0
ответов

std :: max () и std :: min () not constexpr

Я только что заметил, что новый стандарт определяет min (a, b) и max (a, b) без constexpr. Примеры из 25.4.7, [alg.min.max]: template const T & min (const T & a, const T & b); ...
вопрос задан: 14 July 2016 04:23
0
ответов

Неопределенная ссылка to static constexpr char []

Я хочу иметь в своем классе массив static const char. GCC пожаловался и сказал мне, что я должен использовать constexpr, хотя теперь он сообщает мне, что это неопределенная ссылка. Если я сделаю массив нечленом, тогда ...
вопрос задан: 18 April 2016 18:02
0
ответов

Почему std :: алгоритмы не являются constexpr и какие могут быть?

Почему нет методов std :: алгоритма constexpr? Если я правильно понимаю новые правила C ++ 14, многие из этих методов могут быть constexpr. Например, почему std :: find не может быть constexpr? статический ...
вопрос задан: 4 September 2015 12:17
0
ответов

Связь между constexpr и чистыми функциями

Правильно ли я, что: Любая функция, определенная с помощью constexpr, является чистой функцией, и Любая чистая функция может и должна быть определена с помощью constexpr, если это не очень дорого для компилятора. И если да, то почему ...
вопрос задан: 5 April 2015 22:32
0
ответов

Должны ли функции-аргументы шаблона рассматриваться как потенциально constexpr?

Рассмотрим эту программу: шаблон < int F (), int N = F () > void f () {} constexpr int g () {return 1; } int main () {f < g > (); } Это действительно? Нужно ли видеть компиляторы в шаблоне ...
вопрос задан: 26 February 2015 12:43
0
ответов

Можно ли использовать std :: string в constexpr?

Использование C ++ 11, Ubuntu 14.04, GCC по умолчанию. Этот код не выполняется: constexpr std :: string constString = "constString"; ошибка: тип const string {aka const std :: basic_string} ’constexpr ...
вопрос задан: 25 November 2014 22:07
0
ответов

лямбда как статический элемент

Я пытаюсь использовать лямбду в качестве статического члена, например :struct A { static constexpr auto F = [] (){}; }; внутренний основной (){ А ::Ф (); вернуть 0; } Это правильный код C++11? На лязге я...
вопрос задан: 8 June 2014 11:11
0
ответов

Почему MSVC ++ 11 отклоняет квалификацию constexpr для функции?

Итак, поиграв с constexpr, MSVC (Visual Studio 2012) выдал мне ошибку при попытке квалифицировать мою функцию с помощью ключевого слова constexpr с помощью этой простой программы (в том числе пропущенной): constexpr ...
вопрос задан: 8 December 2013 17:32
0
ответов

static_assert в initializer_list :: size ()

Почему std :: initializer_list <_E> :: size недопустим в static_assert, даже если он объявлен как constexpr в моей libstdc ++ (v. 4.6)? Например, следующий код: template
вопрос задан: 11 November 2013 16:58
0
ответов

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

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

Когда следует использовать возможность constexpr в C ++ 11?

Мне кажется, что наличие «функции, которая всегда возвращает 5» нарушает или размывает смысл «вызова функции». Должна быть причина или необходимость в этой возможности, иначе ее не было бы в C + ...
вопрос задан: 10 August 2013 20:12
0
ответов

Как я могу иметь временную переменную в функции constexpr?

Это упрощенная версия того, что я хотел бы сделать. constexpr float f (float a, float b ){ constexpr float temp = a+b; температура возврата *температура *температура; } В моей версии a+b — это нечто большее...
вопрос задан: 9 June 2013 04:10
0
ответов

Может ли оценка функции constexpr выполнять оптимизацию хвостовой рекурсии

Интересно, можем ли мы использовать хвостовую рекурсию для constexpr в C ++ 11 для длинных циклов?
вопрос задан: 4 March 2013 15:22
0
ответов

Разница между `constexpr` и` const`

В чем разница между constexpr и const? Когда я могу использовать только один из них? Когда я могу использовать оба и как выбрать один?
вопрос задан: 2 January 2013 09:17
0
ответов

Функция, возвращающая constexpr, не компилируется

Почему это не компилируется: Может быть проблема со строкой в ​​качестве возвращаемого типа? constexpr std :: string fnc () {return std :: string ("Yaba"); }
вопрос задан: 8 October 2012 06:34
0
ответов

статический член constexpr того же типа, что и определяемый класс

Я хотел бы, чтобы класс C имел статический член constexpr типа C. Возможно ли это в C ++ 11? Попытка 1: struct Foo {constexpr Foo () {} статический constexpr Foo f = Foo (); }; constexpr Foo Foo: ...
вопрос задан: 13 August 2012 07:33
0
ответов

Inline vs constexpr для статического получателя констант?

Какая функция в следующем фрагменте кода обеспечит наилучшую оптимизацию для внешнего использования и почему? Разрешена ли «Версия 4» в C++ 2011? template class MyClass {...
вопрос задан: 12 August 2012 00:37
0
ответов

C++ Linker Error With Class static constexpr

Я компилирую следующую простую программу с g++-4.6.1 --std=c++0x: #include struct S { static constexpr int X = 10; }; int main() { return std::min(S::X, 0); }; I ...
вопрос задан: 19 July 2012 22:28
0
ответов

constexpr инициализирует статический член с помощью статической функции

Требования Я хочу, чтобы значение constexpr (то есть константа времени компиляции) вычислялось из функции constexpr. И я хочу, чтобы оба из них были ограничены пространством имен класса, то есть статическим методом и статическим ...
вопрос задан: 17 July 2012 13:06
0
ответов

Как заставить GCC поместить constexpr C++ в ПЗУ?

Я компилирую для LPC1114, небольшой цели ARM (на самом деле Cortex). ОЗУ гораздо более ограничено, чем ПЗУ. Я использую последний компилятор Mentor (CodeBenchLite) GCC (GCC 4.6.3). У меня есть некоторые постоянные объекты, которые я бы...
вопрос задан: 11 June 2012 17:31
0
ответов

Вызов constexpr в аргументе шаблона по умолчанию

В C++11 я использую функцию constexpr в качестве значения по умолчанию для параметра шаблона – это выглядит так: template полоса структуры { static constexpr int get() { return ...
вопрос задан: 23 May 2012 15:53
0
ответов

Инициализация массива с помощью constexpr?

Интересно, можно ли инициализировать весь массив с помощью функции constexpr (в C++ 2011). Здесь у меня есть кое-что, чтобы проиллюстрировать, что я хочу сделать: template const ...
вопрос задан: 18 May 2012 06:06
0
ответов

Реализация строки constexpr в C++11

Есть ли способ реализовать строки для работы как во время компиляции, так и во время выполнения? AFAIK, чтобы класс был построен constexpr, он должен иметь тривиальный деструктор. Однако это оказывается трудным...
вопрос задан: 2 May 2012 16:25
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