包含标签:language-lawyer 的文章
-
在 C++ 中使用 `{}` 对联合进行聚合初始化
在下面的程序中,联合U有两个字段a和b,每个字段都有不同的默认值。如果U使用聚合初始化创建一个类型的变量,{}则联合的值和活动成员是什么? #include <io…… -
可以在 C++ 中使用子类名称引用方法吗?
请考虑一个A带有方法的结构体f和一个B不重新定义的继承结构体f。在这种情况下,B::f指的是与 相同的方法A::f。 是否允许使用名称调用对象的方法f,如下例所示…… -
-
在未经评估的上下文中使用概念会产生不一致的结果
考虑以下无用的概念C: template<class T> concept C = static_cast<T>(true); 如果我们C在未评估的上下文中传递任意类型,那么所有三个编译器都…… -
完美的转发构造函数和继承构造函数
鉴于此类层次结构: #include <iostream> class Base { public: Base() = default; Base(const Base&) { std::cout << " copy\n"; …… -
结构化绑定是否应作为 C++20 中的右值从函数返回?
考虑一个 C++20 程序,其中函数中foo有一个结构化绑定auto [y]。函数返回y,它被转换为对象类型A。A可以从右值引用的常量引用构造。 #include <tuple> #…… -
为什么这个编译成功?
这段代码编译的原因是什么: #include <iostream> using namespace std; class being { public: void running(char c) { cout << "No o…… -
实现定义的行为是未定义的行为
我开了一个C99标准。通道 4 “一致性”,第 2 页说如下: 如果出现在约束之外的“应”或“不应”要求被违反,则行为未定义。[...] 下面,在第。5 我们看到以下内容:…… -
如何从C++中两次继承的基类调用隐藏方法?
考虑D从两个类B和继承的类C,每个类都继承非虚拟类A。有一种方法f中A,并在相同的命名方法B隐藏与方法A。我想A::f()从对象的B-base 类调用D如下: struct A { ……