language-lawyer 相关问题

有关编程语言和环境的正式或权威规范的复杂性的问题。

decltype可以用来命名方法的类吗?

使用 -std=c++23,gcc 接受以下代码,而 clang 拒绝它: 结构外层{ 结构体{ 整数x; 内联 int get_x() const; } 内部; }; 内联整型 decltype(外部::内部)::get_x()...

回答 1 投票 0

JS 中作为对象的 {} 和作为空块作用域的 {} 之间的区别

令a=10; {} //空块作用域 //假设有一个对象 让b = {}; 那么,js如何区分两者呢? console.log({}=={})(作为示例) 有没有办法可以使用 {}...

回答 1 投票 0

影响编译的 C++ 模板参数顺序

在 Visual Studio 更新后,我刚刚在代码中遇到了新的编译错误。我已将代码精简为我认为的最小示例。我有两个模板化函数,都称为 pow...

回答 1 投票 0

原子读-修改-写操作中是否需要`AcqRel`来避免无锁多生产者单消费者队列中的数据竞争?

考虑一下在 Rust 中实现无锁多生产者单消费者队列的代码片段 结构节点 { 下一个:AtomicPtr>, 值:选项, } 我...

回答 1 投票 0

允许 consteval 成员函数吗?

我有这个c++20/23代码: #包括 模板 类 Foo { 民众: consteval size_t size() noexcept { 返回 N; } size_t 实际大小() {

回答 1 投票 0

在 C++26 中,是否需要将未初始化的变量“初始化”为某些固定字节模式的实现?

在C++26中,读取未初始化的变量不再是未定义的,它现在是“错误的”(什么是错误行为?它与未定义的行为有何不同?)。 然而,措辞...

回答 1 投票 0

UML协会,协会本身的所有权?

这实际上是两个问题合二为一: (1)关联继承关系。对于继承 DirectedRelationship 的类,约定似乎是专门的 DirectedRelation...

回答 1 投票 0

解释 printf("%.-1f", 34.14) 中的格式说明符

如果我用 glibc 进行以下调用 printf("%.-1f", 34.14); 它打印: %0.-1f 它是否正确?如果是这样,为什么?

回答 1 投票 0

工具确定表达式的值类别:了解使用引用时的结果

查看值类别的定义,我尝试了此处提出的代码片段:https://stackoverflow.com/a/16638081/21691539 模板 结构体值类别{ // 或者可以是

回答 1 投票 0

UML 协会:“navigableOwnedEnd”和“ownedEnd”相同吗?

请参考下图,该图显示在 PDF 文件第 241 页第 11.5.2 节的 UML 2.5.1 规范中: 这里有什么区别呢? navigableOwnedEnd 子集ownedEnd,...

回答 1 投票 0

我可以使用模板参数来引用基类成员函数吗?

我试图理解为什么这段代码不能用 GCC 编译,而是用 MSVC 编译: 模板 类选择器:公共 TParams::DataSource1、公共 TParams::DataSource2 { ...

回答 1 投票 0

普通和显式对象成员函数之间的重载解析

在下面的测试程序中,struct B 有两个成员函数 f,可以使用 B{}.f() 来调用:一个是普通的 f(),另一个是显式对象 f(this A)。 结构体A { int f() { 返回 1...

回答 1 投票 0

哪个成员不需要唯一地址,为什么?

考虑以下两个结构体,其大小分别为 8 和 1 字节: 八级{ 整数我; 字符c; 八(const blub&){} }; 一类{ 字符; 一个(const blo...

回答 1 投票 0

是否保证在计算常量表达式时捕获所有形式的未定义行为

我遇到了以下说法: 实际上,在计算常量表达式时,需要捕获该语言中所有形式的 UB(尽管标准库中的 UB 不需要是

回答 1 投票 0

C++ 如何处理运行时对象上的非静态成员函数指针的 constexpr 求值?

代码编译并运行,但我试图理解当 obj 未声明为 constexpr 时如何在编译时评估表达式 (obj.*funcPtr)(12) 。我希望这可能......

回答 1 投票 0

将标准布局结构重新解释为无符号字符是否有任何UB*

我想看看将 Color 结构重新解释转换为 unsigned char* 以传递给 API 是否安全 结构颜色{ 无符号字符 r、g、b、a; }; static_assert(sizeof(颜色) == 大小...

回答 1 投票 0

带有 void 参数的显式对象成员函数

根据 C++23 以来的 cppreference 对于未使用 cv 限定符或 ref 限定符声明的非静态非虚拟成员函数,其第一个参数如果不是函数参数包,可以...

回答 1 投票 0

比较两个指向不同 char 对象的指针在 C 中是否未定义?

这是来自https://github.com/gcc-mirror/gcc/blob/master/libgcc/memmove.c的memmove代码 空白 * memmove (void *dest, const void *src, size_t len) { char *d = 目标; const char *s = src; 如果...

回答 1 投票 0

当派生类处于活动状态时,可以在联合中调用基类上的虚拟方法吗?

虽然 std::variant 对于某些用例来说非常有用,但它与 std::tuple 有点类似,因为您无法命名每个单独的变体。 通常结构体比元组更好。 我想知道这是否合法...

回答 1 投票 0

未计算除以 0 是否未定义行为?

我与一些同事对以下代码存在分歧: int foo ( int a, int b ) { 返回 b > 0 ? a/b:a; } 此代码是否表现出未定义的行为? 编辑:不同意...

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.