Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
if constexpr 而不是标签调度
我想用if constexpr而不是标签调度 但我不知道如何使用它 下面的示例代码 template
c
templates
C17
ifconstexpr
nullptr、{} 和 nullopt 之间的区别
为什么我不能使用nullptr代替nullopt 以及为什么 翻译成这样nullopt 为什么我不能使用nullptr代替nullopt 因为它们是不同的东西 它们的含义不同 用途也不同 必须要有鲜明的特色nullopt使用价值std op
c
pointers
C17
stdoptional
仅防止二元运算符的隐式转换运算符
我遇到了一个问题 我已将其归结为以下问题 其中 即使应该失败 运算符用法也会编译 C 17 在 GCC 5 x 8 x 和 9 x 上测试 template
c
templates
operatoroverloading
C17
implicitconversion
在 C++17 中使用 const std::string& 参数是否有意义?
通过得到string view在 C 17 中 我们得到了传递两者的廉价方法std string and char 不拥有字符串所有权并避免制作临时副本的函数 通过使用std string按值传递和std move我们可以显式且快速地传递右
c
C17
如何在 C++17 中将抛出函数指针静态转换为 noexcept?
C 17 使noexcept函数类型的一部分 它还允许隐式转换noexcept指向可能抛出函数指针的函数指针 void ptr to noexcept noexcept nullptr void ptr to throwing ptr to
c
C17
functionpointers
staticcast
noexcept
如何将 [[nodiscard]] 属性应用于 lambda?
我想防止人们在不处理返回值的情况下调用 lambda Clang 4 0 拒绝我尝试过的一切 使用 std c 1z 进行编译 auto x nodiscard return 1 error nodiscard attribute cann
c
Lambda
attributes
languagelawyer
C17
递归函数的返回类型推导
最近 我读到巴里的回答 https stackoverflow com a 40873657 6793559对于这个问题C 11 中的递归 lambda 函数 https stackoverflow com q 2067988 679355
c
C17
templateargumentdeduction
genericlambda
折叠表达式的结合性
N4191 http www open std org jtc1 sc22 wg21 docs papers 2014 n4191 html建议的 C 折叠表达式 那里的定义是 args 是左折 即 a0 a1 a2 然后 args 是右折
c
languagelawyer
C17
associativity
foldexpression
指定数据成员为引用类型时有关类成员访问的问题
include
c
C17
languagelawyer
如果类型是事后定义的,则实例化具有不完整类型的类模板是否格式错误?
这段代码肯定是格式错误的 因为Foo在实例化点之后专门化 template
c
languagelawyer
C17
std::launder 可用于将对象指针转换为其封闭数组指针吗?
当前的标准草案 大概是 C 17 说 基本 化合物 4 http eel is c draft basic compound 4 注意 数组对象及其第一个元素不可进行指针互换 即使它们具有相同的地址 尾注 所以指向对象的指针不能reinte
c
C17
languagelawyer
stdlaunder
推导指南、模板和子对象:哪个编译器是正确的?
考虑以下片段 struct S S template
c
templates
languagelawyer
C17
templateargumentdeduction
在保证复制省略的世界中构造函数实例化
考虑这个例子 template
c
templates
C17
未知自定义结构上的结构化绑定
简洁版本 我希望能够将结构转换为元组 至少是类型 在下面的代码中 转换为元组函数不起作用 因为可变参数不能在结构化绑定中使用 据我所知 关键行是 自动 值 值 struct Vec3 float x float y float z temp
c
variadictemplates
C17
structuredbindings
为什么 C++17 中的全局内联变量和静态内联成员需要防护?
从 C 17 开始 可以使用以下命令初始化标头中的全局变量和静态成员inline关键词 虽然我理解为什么函数中的静态变量需要受到保护 因为即使在多线程上下文中初始化也应该只发生一次 但我不明白为什么这些新的内联变量也受到保护 您可以在这里看
c
C17
inline
哪些编译器支持 std::filesystem?
感谢 C 11 在与 boost 长期相处之后 最后一个让我依赖它的组件是文件系统 根据链接 std filesystem 似乎是作为实验实现的 文件系统库 http en cppreference com w cpp experiment
c
boost
boostfilesystem
C17
不同翻译单元中不可重载的非内联函数定义
假设我有 2 个 TU 其中有 2 个具有外部链接的非内联函数定义 其区别仅在于返回类型 我的程序违反了哪一段 基本 def odr 4 https timsong cpp github io cppwp n4659 basic def o
c
C17
languagelawyer
onedefinitionrule
轻微破坏的意义
在 C 17 中 新的std optional要求它可以轻易被破坏 如果T在 Optional object dtor 中是可以轻易破坏的 optional 1 Effects If is trivially destructible v
c
destructor
C17
tbb:concurrent_hash_map
:英特尔线程构建模块 (TBB) 的示例代码
寻找要使用的示例代码tbb concurrent hash map
c
Multithreading
concurrency
C17
tbb
如何创建从 C++17 中的可变参数模板推导的类型向量元组?
我已经实现了一个集合类 它将元组向量转换为向量元组 它本质上是 AOS 到 SOA 的转换 此代码适用于两个模板类的示例 我试图通过使用可变参数模板使其更加通用 为了做到这一点 我需要为成员变量创建类型m col 在 C 17 中 是否可以
c
C17
variadictemplates
stdtuple
structureofarrays
«
1
2
3
4
5
6
7
...21
»