Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
constexpr 深度限制与 clang (fconstexpr-深度似乎不起作用)
有没有办法配置 constexpr 实例化深度 我正在运行 fconstexpr depth 4096 使用 clang XCode 但仍然无法编译此代码并出现错误 Constexpr 变量 fib 1 必须由常量表达式初始化 无论是否设置
c
C11
Clang
constexpr
c14
运行时检查实例 (Base*) 是否覆盖父函数 (Base::f())
如何判断一个指针是否为基址 B 类是否 多态性 覆盖基类的某个虚函数 class B public int aField 0 virtual void f class C public B public virtual void f aFi
c
c14
virtualfunctions
缓冲区填充不同类型的数据,并且严格别名
根据标准 https en cppreference com w cpp language reinterpret cast Type aliasing 在 C 中始终是未定义的行为 例如float 指向与 a 相同的内存位置int 然后从
c
C11
c14
strictaliasing
如何在 lambda 本身中获取 C++ lambda 函数的地址?
我试图弄清楚如何获取 lambda 函数本身的地址 这是示例代码 std cout lt lt Address of this lambda function is gt lt lt 我知道我可以捕获变量中的 lambda 并打印地址 但我
c
C11
Lambda
c14
C17
clang vs gcc - 空通用 lambda 变量参数包
我想我找到了另一个 clang 与 gcc lambda 和可调用对象之间的不一致 decltype l operator 应该等于C operator 但是如果通用 lambda 中的可变参数包留空 gcc 会拒绝编译 15 错误 与调用
c
gcc
Lambda
Clang
c14
“使用 auto 说明符声明的变量不能出现在其自己的初始值设定项中”
使用尾随返回类型时似乎出现错误 Func ptr 的函数指针声明 我知道如果我将声明和初始化放在同一个语句中或者只是通过直接指定返回类型来使用标准声明就可以做到这一点 但我想了解该语言的限制 所以有人可以解释一下这个错误在代码如下 使用 a
c
c14
将 std::bind 的结果传递给 std::function “重载”
我有类似的问题在 C 中将不同的 lambda 传递给函数模板 https stackoverflow com questions 40523248 passing different lambdas to function templat
c
c14
templatemetaprogramming
sfinae
为什么我们需要两个定义:整型常量表达式和转换常量表达式?
C 14 中的 5 19 3 定义了整型常量表达式和转换常量表达式 An 积分常量表达式是积分或的表达式 无范围枚举类型 隐式转换为纯右值 其中 转换后的表达式是核心常量表达式 注 此类 表达式可以用作数组边界 8 3 4 5 3 4 位字
c
languagelawyer
c14
constexpr
哪些标准 C++ 功能可用于查询机器/操作系统架构?
用于查询运行程序的硬件或操作系统功能的属性的标准 C 功能和实用程序是什么 例如 std thread hardware concurrency 给出机器支持的线程数 但是 如何检测计算机有多少 RAM 或者进程正在使用多少 RAM 或者某
c
C11
cpuarchitecture
c14
如何检查指针是否指向正确对齐的内存位置?
Given a void 对于某些存储 如何检查它是否指向正确对齐的存储而没有任何实现定义的行为 当然我们有std align http en cppreference com w cpp memory align 但是有更有效的方法吗 t
c
C11
c14
memoryalignment
C17
在 C++11 智能指针中存储 std::thread
In C 11 多于有什么优点或缺点当存储一个std thread直接作为班级成员 如下所示 std thread my thread 与存储相反std shared ptr or std unique ptr像这样的线程 std shar
c
C11
c14
sharedptr
stdthread
使用 constexpr 编译时哈希
我在一本用于在编译时创建 SDBM 哈希值的书中找到了这个示例 类 不幸的是它无法编译 无论是 c 11 还是 c 14 我正进入 状态error call to non constexpr function 我尝试了一下 但似乎无法完成这
c
C11
Hash
c14
templatemetaprogramming
如何将原始字符串文字传递给 [[deprecated(message)]] 属性?
我想将原始字符串文字传递给 deprecated message 属性作为消息 该消息被反复使用 所以我想避免代码重复 首先 我尝试使用 static constexpr 变量 static constexpr auto str R Use
c
attributes
c14
deprecated
rawstring
C++14 元编程:在编译/初始化时自动构建类型列表
使用 C 14 和 Curiously Recurring Template Pattern CRTP 的某种组合以及可能的Boost Hana http www boost org doc libs 1 63 0 libs hana do
c
c14
templatemetaprogramming
crtp
boosthana
std::less
和指针类型
std less
c
languagelawyer
c14
“decltype(auto)”变量有任何实际用例吗?
既来自我的个人经验 也来自咨询诸如此类的问题的答案decltype auto 有哪些用途 https stackoverflow com questions 24109737 what are some uses of decltypeau
c
c14
AUTO
typededuction
decltypeauto
为什么从初始化列表启动向量时不使用移动构造(通过隐式构造函数)
为了演示移动语义 我编写了以下示例代码 其中包含 int 的隐式构造函数 struct C int i 0 C C int i i i C const C other i other i std cout lt lt A copy cons
c
c14
movesemantics
initializerlist
哪条 C++14 规则禁止 constexpr 函数对数据成员进行赋值?
我的理解是这个 无意义的 代码不是有效的 C 14 class Point public constexpr double setX double newX return x newX private double x 我试图找出 C 14
c
constexpr
c14
模拟基于范围的 for 循环的开始/结束行为
考虑基于范围的 for 循环的规范开始表达式 and end expr N4140 stmt ranged p1 给定一个范围 range类型的 RangeT 开始表达式 and end expr确定如下 if RangeT是一个数组类型
c
C11
foreach
c14
引用的定义相互矛盾
我正在学习 C 中的引用 特别是 我了解到引用不是实际对象 相反 它们引用了其他一些对象 也就是说 引用只是其他对象的别名 然后我遇到了this https isocpp org wiki faq references overview r
c
pointers
reference
c14
languagelawyer
«
1 ...
3
4
5
6
7
8
9
...19
»