Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
布局兼容类型的联合
看这段代码 struct A short s int i struct B short s int i union U A a B b int fn U u u a i 1 return u b i 是否保证fn 回报1 注意 这是一个后续
c
languagelawyer
C17
unions
standardlayout
如何声明和定义具有推导类型的静态成员?
我需要定义一个具有复杂 许多模板参数 类型的静态成员 不是 constexpr 因此 希望有这样的东西 struct X static auto x makeObjectWithComplexType 但它不是 C 所以我尝试解决它 并认为
c
C17
为什么即使实际类型直到最后才定义,依赖名称也可以被认为是完整的
考虑这个例子 https godbolt org z JQK tu template
c
templates
C17
dependentname
C++ 中可重用的成员函数
我正在使用这个成员函数来获取指向对象的指针 virtual Object Create return new Object 它是虚拟的 所以我可以获得指向派生对象的指针 现在我这样做 virtual Object Create return
c
visualc
C17
typetraits
boost::mpi 和 boost:serialization with std::variant
c 17引入了新类型std variant 是否可以定义一个序列化例程 以便使用std variant和这个结合boost mpi 例如 考虑一个简单的程序 include
C17
boostserialization
boostmpi
stdvariant
如何测试文件是否被锁定和/或只读而不打开?
是否有可移植的 std filesystem 方法来测试文件是否 锁定 或具有 只读 权限 例如 MacOS Finder 具有 锁定 设置 这与标准 POSIX 权限 不同 在尝试执行删除操作之前 我需要测试是否可以删除文件 理想情况下
c
POSIX
C17
boostfilesystem
stdfilesystem
cppreference 使用术语“[对象的]标识”对于 c++11 和 c++17 来说是两种不同的含义吗?
我以为我已经设法完全理解 在其他 SO 问题的帮助下 谢谢 C 17 关于值类别的更改 但现在我注意到这个问题 这表明我并不真正理解它们 在 C 11 中 对值类别有 具有同一性 可以从其中移动 的解释 并且 同一性 含义的定义仍然存在于参
c
C11
languagelawyer
C17
valuecategories
变量是大小为 1 的数组吗?
考虑一下 int main int char int variable 21 int array 1 21 using ArrayOf1Int int 1 reinterpret cast
c
C11
c14
languagelawyer
C17
c++17 有效地将参数包参数与 std::array 元素相乘
我想有效地将 参数包中的参数与 std array 的元素相乘 int index auto Is std array
c
templates
C17
我应该将局部变量设置为常量还是可移动?
我对本地范围内的任何对象的默认行为是使其const E g auto const cake bake cake arguments 我尝试尽可能少地使用非功能代码 因为这可以提高可读性 并为编译器提供一些优化机会 因此 在类型系统中也反映这
c
C17
movesemantics
constcorrectness
到 const c 数组副本的结构化绑定应该是 const 吗?
考虑这段代码 demo https godbolt org z Nmz gN include
c
languagelawyer
C17
structuredbindings
为什么 cppreference 将 type_traits xxx_v 快捷方式定义为内联 constexpr 而不仅仅是 constexpr?
为什么 cppreference 将 type traits xxx v 快捷方式定义为inline constexpr不仅仅是constexpr 例如 参见is integral v http en cppreference com w
c
languagelawyer
C17
inlinevariable
如何正确使用通过转发引用传递的可调用对象?
我习惯将 lambda 函数 和其他可调用函数 传递给模板函数并使用它们 如下所示 template
c
languagelawyer
C17
decltype
perfectforwarding
“constexpr”函数的“noexcept”行为
的措辞 expr unary noexcept 改变于C 17 之前 n4140 5 3 7 noexcept 运算符 expr unary noexcept https timsong cpp github io cppwp n4140
c
C17
languagelawyer
constexpr
noexcept
具有隐式数组大小的模板参数
下面是一个简化的模板类 它接受数组作为模板参数 但是我还必须传递数组的大小作为参数 我想自动推导它并只写 const char TextArray zero one two Array
c
Arrays
templates
C17
标准库中聚合可初始化性的类型特征?
C 标准库有std is constructible
c
C17
typetraits
aggregateinitialization
使用地图提取和重新插入的限制性规则的基本原理
从 C 17 开始 关联容器 https en cppreference com w cpp container支持节点的提取及其重新插入 可能插入到相同类型的另一个容器中 返回的对象extract key is a 节点句柄 https
c
languagelawyer
C17
undefinedbehavior
无法在 std::variant 中采用相同类型
我正在使用 c 17 并且想编写这样的代码 include
c
C17
不允许使用默认特殊成员函数的多个版本 (MSVC)
这是有效的 C 代码吗 struct S S S const default S S default Context 我尝试通过将这两行添加到以下代码中来处理歧义S godbolt https godbolt org z j9znrY6ef
c
visualc
C17
Clang 和二进制折叠表达式 — 空参数包的诅咒
具体来说 Clang 3 6 0 目前由 Coliru 托管 所有这些片段都是从以下位置调用的 int main foo std cout lt lt n n foo 1 2 3 以下代码 template
c
Clang
compilerbug
C17
foldexpression
1
2
3
4
5
6
...19
»