Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
指定数据成员为引用类型时有关类成员访问的问题
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
C++ 中的可调用类对象:没有匹配的函数可用于调用“std::tuple
::tuple(
)”
我的代码由 2 个文件组成 main cpp and utils hpp 这些文件的内容如下 实用程序 hpp ifndef UTILITY HPP define UTILITY HPP include
c
C17
stdasync
移动还是不移动右值引用限定方法?
在以下 C 11 代码中 应首选哪种 return 语句构造 include
c
returnvalue
movesemantics
C17
refqualifier
带有auto的initializer_list包含多个表达式
相当简单的问题 auto x11 1 2 3 4 auto x1 1 2 3 4 auto x22 1 0 2 25 3 5 auto x2 1 0 2 25 3 5 据我了解 这里应该没有什么区别 或不 但是 使用 llvm clang
c
languagelawyer
C17
AUTO
std::包含自身的容器的变体
我有一个二进制格式 我正在为其编写编码器和解码器 几乎所有二进制类型都直接映射到基元 除了两种容器类型 列表和映射类型 之外 它们可以包含格式中的任何其他类型 包括它们本身 这些感觉就像他们只是想成为一个 typedefstd varian
c
STL
C17
Variant
使用reinterpret_cast访问类似“struct {double, int}”的对象
通过访问对象reinterpret casted 指针和相关的 UB 已经在这里进行了广泛的讨论 阅读问题和答案后 我仍然不确定是否正确使用 POD 类型的未初始化内存 假设我想 模仿 struct double d int i 通过手动为
c
languagelawyer
C17
placementnew
类模板参数推导完美转发
我想了解演绎指南如何与通用参考一起使用std forward 特别是创建完美的转发包装器 下面的代码提供了在两种情况下试验函子包装器的代码 一种具有隐式推导指南 一种具有显式推导指南 我已经放了很多 and std forward在评论中
c
templates
C17
perfectforwarding
templateargumentdeduction
在函数中使用非静态值作为默认参数
有没有一种好的方法可以将非静态值作为函数中的默认参数 我见过一些对同一问题的较旧的回答 这些回答总是以明确地写出超载而告终 这在 C 17 中还有必要吗 我想做的是做类似的事情 class C const int N Initialized
c
class
arguments
overloading
C17
为什么在指定所有模板参数都有默认值的模板类时需要 <> ?
有充分的理由吗 lt gt 当指定一个其所有模板参数都有默认值的模板类时是否需要 e g include
c
templates
C17
«
1
2
3
4
5
6
7
8
...22
»