0

(对不起,如果这个问题太宽泛而无法回答)

(参见参考什么是 constexpr 函数中允许的?

我知道constexpr函数对它们允许的内容有一些限制。以下是引用列出它们。

函数体可能包含以下内容:

  • asm 声明
  • goto 语句
  • 带有除 case 和 default 之外的标签的语句
  • 一个尝试块
  • 非文字类型变量的定义
  • 静态或线程存储持续时间的变量的定义
  • 不执行初始化的变量的定义

我想知道,对consteval功能的限制与上面指定的有何不同。是否有一些东西可以在功能中允许consteval但不能在功能中使用constexpr,反之亦然。

4

1 回答 1

0

就像constexprconsteval使函数成为constexpr 函数。要求列表(在 C++20 中从 C++14 版本显着缩小)适用于更广泛的类别。它是对立即()函数的调用受到进一步限制。consteval

于 2021-08-27T17:51:09.323 回答