为什么标准库类型可以访问在“std”中,尽管它们嵌套在实现定义的命名空间中?
作者:md1357 提问时间:3/25/2022
我正在浏览 GCC 11.2 标头的实现(可以在这里找到),我注意到一些我正在努力理解的东西。这是标题(希望)只遗漏了重要的部分:<optional> #ifndef _GLIBCXX_OPTION...
律师 问答列表
作者: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 声明可以在类定...
作者:Fareanor 提问时间:9/19/2022
请考虑以下行: std::string s = (std::stringstream() << "foo").str(); 这不应该编译,因为被继承并返回一个没有成员。std::stringst...
作者:wimalopaan 提问时间:1/30/2023
https://en.cppreference.com/w/cpp/language/bit_field 读,以下结论正确吗? 相邻位域之间是否没有填充是由实现定义的(这在 https://eel....
作者:Amir Valizadeh 提问时间:2/25/2023
这个问题在这里已经有答案了: 是否有一些有意义的统计数据可以证明未定义有符号整数算术溢出是合理的? (4 个答案) 为什么由于计算导致的符号溢出仍然是 C++20 中的未定义行为 (1 答案) 9个月...
作者:Constantinos Glynos 提问时间:2/21/2018
在下面的示例中,是一个类模板,其第一个参数是类型,第二个参数是另一个模板,该模板采用布尔值和任意数量的参数。Abstract template<bool,typename> struct Defau...
作者:Vittorio Romeo 提问时间:3/17/2023
请考虑以下类模板: template <typename> struct S { template <typename T> void f(T) { /* ... */ } }; 可以提...
作者:Muhammed Elmaghraby 提问时间:5/2/2023
为什么下面的代码编译为 C++ 而没有抱怨,但 C 编译器抱怨初始值设定项不是编译时常量? int x = 2; int y = 1; int a[2] = {x, y}; #include ...
作者:user16217248 提问时间:5/7/2023
我见过一个类似的问题,但我的特指增强赋值运算符,例如 、 等。当我有以下内容时,这些运算符究竟是如何工作的?+=-= extern signed s; extern unsigned u; s +=...
作者:mkluwe 提问时间:1/18/2021
在以下代码中 #include <type_traits> template< typename T > struct Allocator { using element_type = std:...