律师 问答列表

格式错误的约束表达式

作者:303 提问时间:11/7/2023

关于函数,是非类型模板参数的替换约束表达式 模板化变量的有效常量表达式?C++20标准的具体措辞 允许还是禁止?fb struct s { static constexpr bool v = tru...

MSVC 接受使用字符串文本初始化的 std::string 数组,但 gcc 和 clang 拒绝

作者:Alan 提问时间:11/8/2023

我注意到带有 C++20 的 msvc 允许通过字符串文字初始化数组,但 gcc 和 clang 都拒绝它。演示std::string #include <string> int main() { ...

为什么纯虚拟成员函数必须是虚拟的?

作者:Riccardo Caiulo 提问时间:10/3/2023

我有一个关于 C++ 中纯虚函数声明的问题。我有 Java 背景,所以我认为纯虚函数是定义抽象类和接口思想的一种方式。我的问题很简单,当我们在 C++ 中定义一个纯虚函数时,我们必须写这样的东西: ...

非类型模板参数的无效类型转换

作者:303 提问时间:11/8/2023

我希望它可以用作类型的转换常量表达式,因为用户定义的转换运算符。但是,GCC 和 MSVC 拒绝此代码,而 Clang 似乎接受它。根据 C++ 标准,代码应该是合法的吗?xboolconstexpr...

C++14 中的放置新 + reinterpret_cast:格式良好?

作者:user1011113 提问时间:10/30/2023

请考虑 C++14 中的以下示例: alignas(T) unsigned char data[sizeof(T)]; new (data) T(); T* p = reinterpret_cast...

根据 C++ 标准,这种对临时访问是否安全?

作者:jan.sende 提问时间:11/9/2023

我最近在 C++ 代码库中发现了以下 Code Pattern,我现在想知道根据 C++ 标准它是否安全。(实际代码将指针传递到多个函数层,但我将其压缩为基本形式。const char* #incl...

std::integer_sequence中是否允许枚举值?

作者:jtl313 提问时间:11/9/2023

此代码使用 GCC 13 和 Clang 17 编译和执行良好,但无法在 MSVC 上编译。我想知道代码是否需要按照标准工作,或者这是否是 MSVC 的问题。演示 #include <utility...

是 int &amp;ref = ref;结构良好

作者:Alan 提问时间:11/10/2023

我了解到,评估未初始化的变量是未定义的行为。特别是,是未定义的行为。我已阅读 用作其自己的初始值设定项的未初始化变量的行为是什么?int i = i; 但是,使用引用变量初始化自身是否也是未定义的行...

嵌套类友元函数访问在 gcc 和 clang 中有效,但在 msvc 中无效

作者:user12002570 提问时间:11/11/2023

我有这个程序,在类中定义了一个朋友函数,它使用 gcc 和 clang 进行编译,但被 msvc 拒绝。 #include <iostream> template<typename T> class...

直接初始化参数中的 auto ( expression )

作者:Fedor 提问时间:11/12/2023

在 C++23 中,我们有显式类型转换,并且根据 cppreference 它已经被 GCC 和 Clang 支持。auto ( expression ) 我有一个问题,由于某种原因没有发生这种投射...


共167条 当前第16页