Свързани въпроси 'constexpr'

constexpr препратка към неконстантен обект
Разрешено ли е да се декларира неконстантна препратка като constexpr ? Примерен код: int x = 1; constexpr int& r = x; Това се приема от gcc и clang (пробвах няколко текущи и минали версии и на двете, обратно към C++11, и всички го...
286 изгледи

constexpr конструктор и функции
Имам този клас encrypted_string, който трябва да шифрова низове по време на компилация. Проблемът, който имам, е, че не мога да извикам членската функция „encrypt“ в конструктора, но ако поставя криптирането в самия конструктор, то работи....
3897 изгледи
schedule 07.10.2022

Празен деструктор срещу литерал деструктор
Разгледайте следния код: #include <iostream> class Test { public: constexpr Test(const int x) : _x(x) {} constexpr int get() const {return _x;} ~Test() {} // HERE protected: const int _x; }; int...
2466 изгледи

static_assert на initializer_list::size()
Защо std::initializer_list<_E>::size не е позволено в static_assert , въпреки че е декларирано като constexpr в моя libstdc++ (v. 4.6)? Например следният код: template<class T, int Length> class Point { public:...
12827 изгледи
schedule 14.11.2023

Членове на C++ const израз за превключване на регистъра
Бих искал някакъв начин да оценя израз на клас за превключване, използвайки членове на класа, които не са цели числа или eum. Истинският въпрос е как да направим тези членове на класа const-expression , т.е. тези членове трябва да бъдат известни...
2524 изгледи
schedule 29.11.2023

шаблонен параметър без тип от дефиниран от потребителя тип
Опитвам се да дефинирам шаблонен клас, който има шаблонен параметър без тип от дефиниран от потребителя тип. За съжаление засега без успех. Истинският код е твърде дълъг, но опростен пример изглежда така: #include <iostream> template...
2099 изгледи
schedule 02.11.2023

производителност на оценяване на g++ c++11 constexpr
g++ (4.7.2) и подобни версии изглежда оценяват constexpr изненадващо бързо по време на компилиране. На моите машини всъщност много по-бързо от компилираната програма по време на изпълнение. Има ли разумно обяснение за това поведение? Има ли...
1679 изгледи
schedule 02.02.2024

Как да кажа на static_assert, че аргументите на функцията constexpr са const?
Имам функция constexpr, която изглежда нещо подобно: constexpr int foo(int bar) { static_assert(bar>arbitrary_number, "Use a lower number please"); return something_const; } Въпреки това, компилирането на това с GCC 4.6.3 продължава...
4766 изгледи
schedule 17.04.2024