constexpr 相关问题

constexpr是C ++ 11中引入的修饰符,它通知编译器函数或变量的值是已知的,或者可以在编译时计算。因此,它可以在不可能的地方用作常数。

[3种在C ++中进行N阶编译时间的不同/相同方式

我正在尝试使用模板元编程,constexpr以及if constexpr,并提出了3种不同的方法来执行N递归/ N因子运算。这三个例子都是我所拥有的...

回答 1 投票 0

c ++ constexpr指针和constexpr比较

在以下代码中:struct test {struct Data {};静态constexpr const数据data1 {};静态constexpr const数据data2 {};静态constexpr const Data * pdata1 =&data1; ...

回答 1 投票 1

在编译时获取多维矢量的深度

我有一个函数,需要一个多维矢量,并且需要将深度(或维数)作为模板参数传递。我想写的不是硬编码此值,而是...

回答 3 投票 4

使用全局std :: array引用作为模板参数时如何简单地使用参数?

这在C ++ 17中有效:模板 &ARRAY>类Foo {}; constexpr std :: array A {1,2,3}; void bar(){Foo <3,A> foo_a; }因此...

回答 1 投票 0

如何正确地对constexpr函数进行单元测试

如果我有constexpr函数,是否应该同时进行运行时验证和编译时验证?如果只有一个编译时检查static_assert,则该函数将不会是...

回答 1 投票 0

静态constexpr全局变量[重复项]

在C ++ 17中,像这样声明全局常量之间有什么区别:名称空间ns {static constexpr const auto global_variable = 47; }同时指定const修饰符,以及:...

回答 2 投票 1

通常是constexpr变量

我有一个项目的一堆测试,这些测试最初是使用Gtest编写的,但是从那以后,我将它们移到了Microsoft的CppUnitTestFramework中。为了避免必须重写所有测试,我...

回答 1 投票 0

我可以定义constexpr匿名/未命名变量吗?

是错误的,我按照constexpr bool {}的名义写了一些东西;尽管GCC和Clang拒绝了这一点,但MSVC还是很乐意对其进行编译(请参阅Godbolt)。据我了解,函数(和...

回答 1 投票 7

是否有constexpr版本的strstr()?

据我所知,传统的字符数组函数,例如strlen,strstr等都由C-标准定义,并且由于constexpr是C ++ 11,因此未使用它们声明。但是,std :: ...

回答 1 投票 5

用于非const constexpr成员函数的用例?

在C ++ 14及更高版本中,成员函数的constexpr不再暗示const。结构值{int i = 5; constexpr bool not_five()//需要const编译{return this-> i!...

回答 1 投票 2

将const T&与此传递给constexpr成员函数

我正在尝试修复一些库代码,其中最小化的最低版本如下所示:#include template ...

回答 2 投票 0


通过在编译时折叠带有索引的指针来分配C数组

我想在C ++ 17的编译时将整数转换为字符串文字。我使用了这个完美的解决方案。无论如何,此解决方案的问题是我无法分配...

回答 1 投票 3

一次将字符串文字常量定义为char const *和wchar const *

由于要使用的域的限制,我需要将字符串文字都定义为char const *和wchar const *,例如:constexpr auto C_VAR_NAME_1 =“ MY_VAR_NAME_1”; constexpr ...

回答 2 投票 2

GCC constexpr允许加法,但不能按位或带有地址

考虑此代码:#include static int x = 0; const uintptr_t算术(){静态constexpr uintptr_t结果=(((uintptr_t)&x)+ 1u;返回结果; } const uintptr_t ...

回答 1 投票 2

span可以是constexpr吗?

std :: span的所有构造函数都声明为constexpr,但是我似乎无法让它们在constexpr上下文中正常工作。取消注释以下任何constexpr都将导致编译...

回答 1 投票 0

Constexpr成员函数

假设我有一个由引擎参数化的结构模板S:template struct S;我有两个引擎:一个带有constexpr成员函数size()的“静态”引擎,和一个“ ...

回答 2 投票 1

Constexpr变量不是编译时间值吗?

根据https://docs.microsoft.com/zh-cn/cpp/cpp/constexpr-cpp?view=vs-2019“,constexpr表示该值或返回值是恒定的,如果可能,则为在编译时进行计算。” ...

回答 1 投票 3



© www.soinside.com 2019 - 2024. All rights reserved.