律师 问答列表

为什么标准库类型可以访问在“std”中,尽管它们嵌套在实现定义的命名空间中?

作者:md1357 提问时间:3/25/2022

我正在浏览 GCC 11.2 标头的实现(可以在这里找到),我注意到一些我正在努力理解的东西。这是标题(希望)只遗漏了重要的部分:<optional> #ifndef _GLIBCXX_OPTION...

在成员函数中为继承的成员字段使用声明

作者:francesco 提问时间:1/8/2023

在函数内部,可以使用 using 声明在当前作用域中导入名称,例如 namespace A { int y; } void f() { using A::y; } using 声明可以在类定...

为什么编译器现在接受从 std::stringstream::operator&lt;&lt;() 对返回的 std::ostream&amp; 调用 str() 成员?

作者:Fareanor 提问时间:9/19/2022

请考虑以下行: std::string s = (std::stringstream() << "foo").str(); 这不应该编译,因为被继承并返回一个没有成员。std::stringst...

C++ 中位字段的特征

作者:wimalopaan 提问时间:1/30/2023

https://en.cppreference.com/w/cpp/language/bit_field 读,以下结论正确吗? 相邻位域之间是否没有填充是由实现定义的(这在 https://eel....

为什么 c++ 中的有符号整数溢出是未定义的,而不是实现定义的?[复制]

作者:Amir Valizadeh 提问时间:2/25/2023

这个问题在这里已经有答案了: 是否有一些有意义的统计数据可以证明未定义有符号整数算术溢出是合理的? (4 个答案) 为什么由于计算导致的符号溢出仍然是 C++20 中的未定义行为 (1 答案) 9个月...

Clang 与 G++ 在类模板参数数量和模板模板参数重新声明方面存在分歧

作者:Constantinos Glynos 提问时间:2/21/2018

在下面的示例中,是一个类模板,其第一个参数是类型,第二个参数是另一个模板,该模板采用布尔值和任意数量的参数。Abstract template<bool,typename> struct Defau...

显式实例化定义:类模板的构造函数模板——可能吗?(Clang 与 GCC)

作者:Vittorio Romeo 提问时间:3/17/2023

请考虑以下类模板: template <typename> struct S { template <typename T> void f(T) { /* ... */ } }; 可以提...

C++ 和 C 标准中的哪些规则使从其他静态对象初始化静态对象在 C++ 中有效,但在 C 中无效

作者:Muhammed Elmaghraby 提问时间:5/2/2023

为什么下面的代码编译为 C++ 而没有抱怨,但 C 编译器抱怨初始值设定项不是编译时常量? int x = 2; int y = 1; int a[2] = {x, y}; #include ...

当操作数的符号不匹配时,C 语言中的增强赋值运算符如何表现?

作者:user16217248 提问时间:5/7/2023

我见过一个类似的问题,但我的特指增强赋值运算符,例如 、 等。当我有以下内容时,这些运算符究竟是如何工作的?+=-= extern signed s; extern unsigned u; s +=...

意外无效地将“sizeof”应用于不完整的类型错误

作者:mkluwe 提问时间:1/18/2021

在以下代码中 #include <type_traits> template< typename T > struct Allocator { using element_type = std:...


共167条 当前第10页