language-lawyer 问答列表

JavaScript 中 integer index 的定义 (ECMAScript 2015)

作者:Sergey Shandar 提问时间:11/16/2023

我正在尝试了解 JavaSript 对象如何对其属性进行排序。据我了解,从ECMA262开始,第一个属性始终是整数索引属性。例如,如果使用 Node.js、Deno 或 Bun 打印这些对象: co...

比较悬空指针是否合法?

作者:fredoverflow 提问时间:6/7/2015

比较悬空指针是否合法? int *p, *q; { int a; p = &a; } { int b; q = &b; } std::cout << (p == q) << '\n'; ...

为什么转换函数在分配给对象时不用于该对象?

作者:Sam 提问时间:4/24/2023

我了解到我们可以在 C++ 中为我们的类提供转换运算符。所以我预计对于以下程序,将使用转换运算符。但令我惊讶的是;这不会发生,我们得到一个编译器错误,说c=1;int() error: no mat...

如果在全局对象的析构函数中调用“std::exit”会发生什么?

作者:yeputons 提问时间:10/27/2021

请考虑以下代码: #include <cstdlib> struct Foo { ~Foo() { std::exit(0); } } foo; int main() { } 它在我的 L...

如果类包含用户声明的析构函数,那么复制构造函数会怎样?

作者: 提问时间:11/1/2014

第 12.8/7 节中的标准说: 如果类定义未显式声明副本 构造函数,一个是隐式声明的。如果类定义 声明 Move 构造函数或 Move 赋值运算符, 隐式声明的复制构造函数定义为已删除;否则 它被...

为什么 CopyConstructible 定义提到“常量 T 的右值表达式”?

作者:code707 提问时间:7/18/2018

以下是 cpppreference 的定义: [https://en.cppreference.com/w/cpp/named_req/CopyConstructible][1] 要求:类型 T ...

基类中模板化构造函数的 clang/gcc 和 MSVC 之间的不同结果

作者:Sedenion 提问时间:2/7/2022

我偶然发现了下面一段代码。该案例在 MSVC 上产生的结果与在 clang 或 gcc 上产生的结果不同。也就是说,clang 13 和 gcc 11.2 调用 的复制构造函数,而 MSVC v19....

类构造函数在 clang 上编译,但在 gcc 上被拒绝

作者:Baki 提问时间:4/29/2023

我正在学习C++中的构造函数。特别是,一个 C++ 类可以有多个构造函数。但后来我制作了以下程序,该程序适用于 clang,但不适用于 gcc 和 msvc。 template<typename T...

类模板中的常规复制构造函数不能默认吗?

作者:Fedor 提问时间:5/23/2022

在下面的程序中,struct template 有一个来自 的构造函数。因为它应该是 copy-constructor,可以默认为:Aconst A<int> &A<int> template<ty...

令牌连接运算符 ## 的应用如何与禁止递归宏扩展交互?

作者:Lover of Structure 提问时间:10/10/2023

标准和问题的规则 该标准对宏扩展的重新扫描阶段(在 /-处理和参数替换之后)进行了如下说明(C17 草案,6.10.3.4 ¶2):### 如果在扫描替换列表期间找到要替换的宏的名称(不包括源文件...


共46条 当前第1页