当替换完整对象时,基类子对象的“透明替换”?
作者:JMC 提问时间:8/30/2023
请考虑以下代码片段: struct A { int n; }; struct B : A {}; B foo; new (&foo) B { {42} }; // the new B transpa...
language-lawyer 问答列表
作者:JMC 提问时间:8/30/2023
请考虑以下代码片段: struct A { int n; }; struct B : A {}; B foo; new (&foo) B { {42} }; // the new B transpa...
作者:JMC 提问时间:9/2/2023
既标准在 http://eel.is/c++draft/depr.meta.types#11 和 cppreference 建议 的典型实现有点像这样(标准差异很小):std::aligned_st...
作者:user541686 提问时间:9/11/2023
MSVC 拒绝编译此内容: #include <type_traits> struct G { void operator()() const { } }; template<class T> ...
作者:Jan Schultke 提问时间:9/22/2023
[temp.res.general] 中有一个让我感到困惑的例子: template<class T> class X { // ... void g(T t) { +; // may be ...
作者:Urooj 提问时间:9/19/2023
在 MDN 文档的“语句和声明”中提到: 术语“语句”和“声明”在 JavaScript 的正式语法中具有精确的含义,这会影响它们在代码中的放置位置。例如,在大多数控制流结构中,正文只接受语句,例如...
作者:Battler 提问时间:10/2/2023
这是不编译的代码的简单版本。我知道存在的常量值和值签名函数都是模棱两可的,但我需要两个基于值模板参数恒常性的不同函数。但我没想到在取 f1 的别名时会遇到问题。它适用于所有 const 类型引用,但不...
作者:Alexander 提问时间:7/15/2019
下面突出显示的句子是什么意思?它与函数模板有什么关系吗? [过载]/1: 并非所有函数声明都可以重载。那些不能的 此处指定了重载。如果程序包含以下内容,则该程序的格式不正确 在同一作用域中有两个这...
作者:Luchian Grigore 提问时间:4/5/2013
这个问题在这里已经有答案了: sizeof(某个指针)总是等于四吗? (17 个答案) 10年前关闭。 这个答案带有一个有趣的陈述——“在比 a 小的机器上”。(让我们排除指向函数的指针)int*c...
作者:Luchian Grigore 提问时间:4/2/2014
所以这个答案让我想到了将结果分配给指向 .AFAIK,在这种情况下,您没有理由不能合法地消除恒常性并实际修改对象:newconstconst_cast struct X{int x;}; //.....
作者:nriedlin 提问时间:8/7/2014
有时我会发现如下代码(实际上一些类向导会创建这样的代码): // C.h namespace NS { class C { void f(); }; } 在实现文件中: // C.cpp...