constexpr相关内容

在编译时完全枚举D维数组的索引

要测试某些多维结构,需要生成编译时多维索引以完全涵盖所有可能的情况。 我正在寻找编译时廉价的方法来达到上述目的。 我目前正在做什么: #include #include 模板 结构枚举器; 模板 struct枚举器 ..
发布时间:2020-09-28 01:40:46 C/C++开发

有条件的constexpr成员函数

假设我有一个模板类 template class foo { T m; decltype(auto)f(){return m.f(); } }; 如何给 foo:f()仅在 T :: f()是constexpr时使用constexpr说明符? 解决方案 您只需在其上拍一个 constexpr : constexp ..
发布时间:2020-09-28 01:23:39 C/C++开发

Constexpr查找实现

回答此问题后,阅读本演讲并查看此代码,我想实现 constexpr使用简单的数组类查找。 请考虑以下示例: #include 模板 constexpr auto constexpr_find(const It& b,const It& e,T value){ auto begin = b; while(begi ..
发布时间:2020-09-28 01:21:17 C/C++开发

切换constexpr功能

在 Wiki 中找到以下语句: C ++ 11引入了constexpr声明的函数的概念; 函数,可以在编译时执行。它们的返回值 可能需要常量表达式 的操作(例如整数模板参数)占用。但是,C ++ 11 constexpr 函数只能包含一个返回的表达式(如 以及static_asserts和少量其他声明)。 C ++ 14放宽了这些限制。 Constexpr声明的函数现在可能 ..
发布时间:2020-09-28 01:18:36 C/C++开发

将设置函数(设置器)标记为constexpr的目的是什么?

我不明白将setter函数标记为 constexpr 的目的,自C ++ 14开始就允许这样做。 我的误解来自于下一种情况: 我声明了一个带有constexpr c-tor的类,并且通过在该类中创建一个constexpr实例,我将在constexpr上下文中使用它 constexpr点p1 。对象 p1 现在是常量,并且其值无法更改,因此无法调用 constexpr 设置器。 另一方面,当我 ..
发布时间:2020-09-28 01:18:27 C/C++开发

C ++ 14:从参数值初始化constexpr变量

说我有一个可以通过 constexpr 函数返回常量表达式的类: template struct Foo { constexpr int Bar()const {return N; } }; 如果我想从 Foo :: Bar(),我应该如何传递 Foo 类型的参数?我已经尝试了这两个,并在每个变量中都使用示例 constexpr 变量来测试其是否可 ..
发布时间:2020-09-28 01:08:37 C/C++开发

constexpr vs const vs constexpr const

const-vs-constexpr-on-variables 如果使用double ,那家伙对constexpr的说法是正确的($code>(或者当然是 float )。但是,如果将var类型从 double 更改为int,char等整数类型,则一切正常。为什么会发生这种情况? http://ideone.com/ DAWABE int main() { const in ..
发布时间:2020-09-28 00:58:29 C/C++开发

在constexpr评估上分支/在constexpr上重载

设置: 我有一个使用SIMD内部函数的函数,想在某些constexpr函数中使用它。 为此,我需要将其设为constexpr。但是,SIMD内部函数未标记为constexpr,并且编译器的常量评估器无法处理它们。 我尝试用功能相同的C ++ constexpr实现替换SIMD内在函数。该函数在运行时变慢了3.5倍,但是我可以在编译时使用它(是吗?)。 问题 >: 如何 ..
发布时间:2020-09-28 00:57:12 C/C++开发