相关疑难解决方法(0)

具有引用成员的结构是否具有唯一的对象表示?

这个答案提出了以下问题。

假设我们有一个简单的

struct S {
    int& i;
}
Run Code Online (Sandbox Code Playgroud)

内部(至少在 GCC 和 Clang 中)S只包含一个指向 an 的指针int,并且

static_assert(sizeof(int*) == 8);
static_assert(sizeof(S)    == 8);
Run Code Online (Sandbox Code Playgroud)

是否S有唯一的对象表示?GCC 和 Clang 不同意 *:

static_assert( std::has_unique_object_representations_v<int*>);
static_assert(!std::has_unique_object_representations_v<S>);    // GCC
static_assert( std::has_unique_object_representations_v<S>);    // Clang
Run Code Online (Sandbox Code Playgroud)

哪个编译器就在这里,为什么?

* idclev 463035818指出 GCC 和 Clang 之间存在分歧

c++ language-lawyer c++17

30
推荐指数
3
解决办法
829
查看次数

标签 统计

c++ ×1

c++17 ×1

language-lawyer ×1