通过 const 指针而不是 const 引用传递临时引用;此解决方法格式是否正确?
作者:dragonroot 提问时间:11/4/2023
显然,根据 C++ 标准,不能将 const 指针作为函数的参数传递给临时,而传递 const 引用是完全可以的,即使两者本质上是相同的。 这令人费解,到目前为止,我唯一的解释是 C++ 不能微妙到...
语言-律师 问答列表
作者:dragonroot 提问时间:11/4/2023
显然,根据 C++ 标准,不能将 const 指针作为函数的参数传递给临时,而传递 const 引用是完全可以的,即使两者本质上是相同的。 这令人费解,到目前为止,我唯一的解释是 C++ 不能微妙到...
作者:Spencer 提问时间:11/4/2023
(我最初的问题是关于“发生了什么事?”,但这是基于对一些cppreferences页面的误读)。_BitInt C++ 标准草案的库简介第 16.2 节说 C++ 支持 C 标准库。然而,对特定 C...
作者:303 提问时间:11/7/2023
关于函数,是非类型模板参数的替换约束表达式 模板化变量的有效常量表达式?C++20标准的具体措辞 允许还是禁止?fb struct s { static constexpr bool v = tru...
作者:einpoklum 提问时间:7/11/2023
请考虑以下 printf 指令: printf("%# 01.1g", 9.8); 它应该打印什么? 我正在阅读 cppreference.com 上 g 说明符的描述,上面写着(删除的文本)...
作者:303 提问时间:11/8/2023
我希望它可以用作类型的转换常量表达式,因为用户定义的转换运算符。但是,GCC 和 MSVC 拒绝此代码,而 Clang 似乎接受它。根据 C++ 标准,代码应该是合法的吗?xboolconstexpr...
作者:user1011113 提问时间:10/30/2023
请考虑 C++14 中的以下示例: alignas(T) unsigned char data[sizeof(T)]; new (data) T(); T* p = reinterpret_cast...
作者:Alan 提问时间:11/10/2023
我了解到,评估未初始化的变量是未定义的行为。特别是,是未定义的行为。我已阅读 用作其自己的初始值设定项的未初始化变量的行为是什么?int i = i; 但是,使用引用变量初始化自身是否也是未定义的行...
作者:user12002570 提问时间:11/11/2023
我有这个程序,在类中定义了一个朋友函数,它使用 gcc 和 clang 进行编译,但被 msvc 拒绝。 #include <iostream> template<typename T> class...
作者:Fedor 提问时间:11/12/2023
在 C++23 中,我们有显式类型转换,并且根据 cppreference 它已经被 GCC 和 Clang 支持。auto ( expression ) 我有一个问题,由于某种原因没有发生这种投射...
作者:Alan 提问时间:11/12/2023
我想让一个专业成为朋友,如下所示。我用 C++20 尝试了以下操作,但该程序被 clang 拒绝并被 GCC 和 MSVC 接受。 template <class T> struct Ext { ...