小编Zuo*_* Hu的帖子

多个默认构造函数

这个堆栈溢出问题中,答案包含以下引用:

...定义表示所有默认构造函数(如果有多个)...

怎么会有多个默认构造函数,为什么这可能有用或被标准允许?

c++ overloading constructor-overloading default-constructor language-lawyer

4
推荐指数
1
解决办法
334
查看次数

参考类成员琐碎

比方说,出于我自己的原因,我希望一个类有一个非静态引用成员。我认为这种类型应该很容易从使用它的大多数代码中优化。因此,我在单元测试中断言它的微不足道。

Clang 和 GCC 同意这个类是微不足道的,但 MSVC 不同意。根据标准,谁是对的,为什么是对的?

#include <type_traits>

struct example {
    int& r;
};


// Clang and GCC let this pass
// MSVC fires this assertion
static_assert(
    std::is_trivial<example>::value,
    "example is not trivial"
);
Run Code Online (Sandbox Code Playgroud)

c++ language-lawyer

2
推荐指数
1
解决办法
70
查看次数