Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
constexpr 函数何时在编译时进行求值?
既然声明为 constexpr 的函数有可能在运行时被调用 那么编译器根据什么标准决定是在编译时还是在运行时计算它呢 template
c
C11
Runtime
compiletime
constexpr
如何构建一个在用作 constexpr(如断言)时行为不同的自定义宏?
从 C 14 开始 断言宏可以在函数中使用 即使它们被定义为 constexpr 我知道这与它的计算结果为 true 有关 但我无法弄清楚实际的代码是什么样子 具体来说 如何构建一个宏 该宏在运行时评估的 constexpr 函数中运行时打
c
macros
c14
assert
constexpr
C++ constexpr:在编译时计算 std 数组
我想转换一个 数组 bool到一个整数序列 所以我需要计算一个std array在编译时 这是我的代码 include
c
c14
variadictemplates
templatemetaprogramming
constexpr
保持函数参数的保守性
我正在使用整洁的 fmt 库 该库在其版本 8 中会在编译时检查其格式字符串 如果编译器支持相关功能 在某些时候 我想编写以下代码 throw my exception error 123 可悲的是 天真的实现 struct my exce
c
C20
constexpr
FMT
consteval
如何在编译时捕获递归函数的结果?
include
templates
recursion
c14
templatemetaprogramming
constexpr
C++20 constexpr 向量和字符串不起作用
我在尝试创建时遇到奇怪的编译器错误constexpr std string and std vector对象 include
c
visualc
C20
constexpr
stdstring
静态 constexpr 类成员何时需要类外定义?
我有以下 C 11 代码 简化版本 struct Info const char name int version class Base public const Info info Base Info info info info cla
c
C11
Plugins
constexpr
为什么在适用时不隐含 constexpr? [复制]
这个问题在这里已经有答案了 这些可能应该在不同的问题中 但它们是相关的 所以 为什么我们需要写constexpr根本吗 给定一组限制 编译器无法评估代码以查看它是否满足constexpr要求 并将其视为constexpr如果有的话 作为一个
c
C11
constexpr
将 struct 转换为 uint8_t 的 constexpr 数组
我需要从 constexpr 结构中创建 constexpr 字节数组 include
c
Arrays
templates
C17
constexpr
constexpr 和奇怪的错误
我有 constexpr bool is concurrency selected const return ConcurrentGBx gt isChecked GBx is a groupbox with checkbox 我收到错误
c
C11
constexpr
constexpr 函数内的编译时或运行时检测
当 C 11 中引入 constexpr 时 我很兴奋 但不幸的是我对其有用性做出了乐观的假设 我假设我们可以在任何地方使用 constexpr 来捕获文字编译时常量或文字编译时常量的任何 constexpr 结果 包括如下所示 const
c
c14
constexpr
compiletime
C17
构造函数技巧
我认为这是不可能的 但我想在放弃之前问你一下 我想要类似 constexpr 增量的东西 include
c
metaprogramming
constexpr
为什么这个 constexpr 代码会导致 GCC 吃掉我所有的 RAM?
以下程序将调用fun2 MAXD 1 次 不过 最大递归深度永远不应该超过 MAXD 如果我的想法是正确的 因此 编译可能需要一些时间 但它不应该占用我的内存 include
c
gcc
C11
metaprogramming
constexpr
使用 constexpr auto/char-array 变量观察到的不同行为
跟进这个问题拥有 constexpr 静态字符串会导致链接器错误 https stackoverflow com questions 34792403 having a constexpr static string gives a lin
c
C11
languagelawyer
constexpr
AUTO
对 static constexpr char[] 的未定义引用
我想要一个static const char我班上的数组 GCC 抱怨并告诉我我应该使用constexpr 尽管现在它告诉我这是一个未定义的引用 如果我将数组设置为非成员 那么它就会编译 到底是怎么回事 hpp struct foo voi
c
C11
staticmembers
constexpr
C++ 编译器如何如此快速地计算递归 constexpr 函数?
我一直在学习C constexpr函数 我实现了constexpr递归函数查找第 n 个斐波那契数 include
c
function
recursion
constexpr
constexpr 深度限制与 clang (fconstexpr-深度似乎不起作用)
有没有办法配置 constexpr 实例化深度 我正在运行 fconstexpr depth 4096 使用 clang XCode 但仍然无法编译此代码并出现错误 Constexpr 变量 fib 1 必须由常量表达式初始化 无论是否设置
c
C11
Clang
constexpr
c14
常量表达式中具有未初始化成员的“默认”构造函数
以下最小示例因未初始化数组数据成员而被 Clang 和 GCC 拒绝 class vector3 public constexpr vector3 default private float m data 3 constexpr auto
c
constexpr
为什么我们需要两个定义:整型常量表达式和转换常量表达式?
C 14 中的 5 19 3 定义了整型常量表达式和转换常量表达式 An 积分常量表达式是积分或的表达式 无范围枚举类型 隐式转换为纯右值 其中 转换后的表达式是核心常量表达式 注 此类 表达式可以用作数组边界 8 3 4 5 3 4 位字
c
languagelawyer
c14
constexpr
我是否应该尽可能在 C++11 中将“const int”替换为“constexpr int”?
你会替换吗 const int one 1 const int two 2 有了这个 constexpr int one 1 constexpr int two 2 我的理解是否正确 两个块在语义上是相同的 并且目前只是一个品味问题 另一方
c
C11
constants
constexpr
«
1
2
3
4
5
6
...9
»