Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
为什么比较 constexpr 函数的两个参数不是静态断言的常量条件?
constexpr uint32 t BitPositionToMask int i int Size static assert i lt Size bit position out of range return 1 lt lt i 这
c
constexpr
C++ 检查 if 语句可以被 constexpr 计算
有没有一种方法可以决定是否可以对某些内容进行 constexpr 求值 并将结果用作 constexpr 布尔值 我的简化用例如下 template
c
templatemetaprogramming
constexpr
C20
ifconstexpr
为什么使用 constexpr 初始化变量是在运行时而不是编译时评估
据我了解 关键字constexpr告诉编译器表达式的求值可以在编译时发生 具体来说 constexpron 变量意味着可以在编译时计算变量的值 而constexpr在函数上意味着可以在编译时调用该函数并计算其返回值 如果该函数在运行时被调用
c
C11
Compilation
constants
constexpr
[decl.constexpr].5 到底是什么意思?
该标准关于常量表达式函数 decl constexpr 第 5 点规定 对于非模板 非默认 constexpr 函数或非模板 非默认 非继承 constexpr 构造函数 如果不存在参数值 则函数或构造函数的调用可以是核心常量的计算子表达式
c
languagelawyer
constexpr
constexprfunction
Constexpr 用于创建对象
我试图弄清楚使用以下命令创建对象是否会带来性能提升constexpr而不是正常情况下 这是代码片段constexpr class Rect const int a const float b public constexpr Rect co
c
constexpr
为什么 MSVC++11 拒绝函数的 constexpr 限定?
因此 在尝试使用 constexpr 时 MSVC Visual Studio 2012 在尝试使用以下命令限定我的函数时出现了错误constexpr使用这个简单程序的关键字 包括省略 constexpr int factorial int
c
visualstudio2012
C11
constexpr
更改常量表达式中联合的活动成员
和谁玩constexpr and union我发现我无法更改某个活动的活跃成员union in constexpr 只有一个例外 union空类 constexpr bool t struct A struct B union U A a
c
c14
unions
constexpr
Variant
关于 ODR 违规和模板变量
我知道模板函数在链接时不会受到多个定义的影响 就像在类内部定义的成员函数一样 默认情况下是内联的 还 constexpr对象具有内部链接 但模板变量具有外部链接 我的意思是在命名空间范围内 对于 C 14 这两种情况都是如此 关于什么 te
c
templates
c14
constexpr
onedefinitionrule
GCC 接受 `constexpr struct {} s;`,但 Clang 拒绝它。谁是正确的?
以下代码可以使用 GCC 正常编译 constexpr struct s 但 Clang 拒绝了它 并出现以下错误 错误 默认初始化 const 类型 const struct anonymous struct at 对象 而没有用户提供的
c
gcc
Clang
languagelawyer
constexpr
为什么分解声明不能是 constexpr?
请考虑以下代码片段来测试即将推出的 C 17 功能分解声明 以前称为结构化绑定 include
c
constexpr
C17
structuredbindings
Constexpr 放置新?
C 标准明确禁止调用new在常量表达式中 N4296 第 5 20 节 expr const 条件表达式 e 是核心常量表达式 除非对 e 的求值遵循抽象机 1 9 的规则 将求值以下表达式之一 新表达式 5 3 4 该禁令 据我所知 延伸
c
languagelawyer
constexpr
placementnew
为什么 constexpr 函数对于引用的行为有所不同?
灵感来自在编译时计算函数参数 https stackoverflow com questions 58468574 counting function arguments at compile time noredirect 1 comme
c
constexpr
模板参数 constexpr 的显式指定参数无效
我有一个static loop像这样构造 template
c
tuples
C17
templatemetaprogramming
constexpr
通过索引实现“constexpr for”
for int i 0 i lt 5 i std get i tuple 这不会编译 因为i不是编译时间常数 在如何迭代 std tuple 的元素 和其他帖子我看到递归的答案 或使用std apply 但那些失去了索引控制 我也不想仅仅限
c
forloop
C20
constexpr
constexpr 使用静态函数初始化静态成员
要求 我想要一个constexpr值 即编译时常量 计算自constexpr功能 我希望这两个范围都限定在类的命名空间内 即类的静态方法和静态成员 第一次尝试 我首先以 对我来说 显而易见的方式写下这个 class C1 constexpr
c
gcc
g
staticmembers
constexpr
constexpr 与 const 对比 constexpr const
变量上的 const 与 constexpr 这家伙关于 constexpr 的说法是正确的if double被使用 或float当然 但是 如果您将 var 类型更改为double对于像 int char 等整数类型 一切正常 为什么会发
c
c14
constexpr
Constexpr 指针值
我试图声明一个初始化为某个常量整数值的 constexpr 指针 但 clang 挫败了我的所有尝试 尝试1 constexpr int x reinterpret cast
c
pointers
C11
Clang
constexpr
consteval 函数是否允许模板参数依赖于函数参数?
在 C 17 中 以下代码是非法的 constexpr int foo int i return std integral constant
c
languagelawyer
constexpr
C20
classtemplate
为什么 const 数组无法从 constexpr 函数访问?
我有一个名为 access 的 constexpr 函数 我想访问数组中的一个元素 char const const foo foo char const const bar 10 bar constexpr int access char
c
C11
constexpr
如何判断 `constexpr` 是否在编译时求值(无需手动检查)
有没有一种标准方法可以找出编译器做了什么constexpr功能 旁注 对于调试 默认情况下每个 constexpr 函数都会推迟到运行时 为什么这是明智的 有没有办法影响这一点 对于发布取决于上下文 显然 对于小型测试设置 您可以轻松检查生
c
C11
Compilation
C17
constexpr
«
1 ...
3
4
5
6
7
8
9
»