小编Niv*_*hus的帖子

纯虚拟和内联定义

考虑:

struct device{
    virtual void switchon() = 0 {}
};

int main()
{

}
Run Code Online (Sandbox Code Playgroud)

我写了类似于以下的代码,它给出了一个错误:

函数定义编译的纯指定符因-Wfatal-errors而终止.

当我问他时,他向我展示了标准中的以下引用:

在类中声明的虚函数应在该类中定义或声明为纯(10.4),或两者兼有; 但不需要诊断(3.2).

我似乎无法理解这意味着什么,我认为这在某种程度上是不相关的.

PS:如果这不是相关的引用,请引导我到正确的引用,以便我可以有更好的反驳.

c++

8
推荐指数
1
解决办法
1585
查看次数

不稳定和双重混乱

int x = 2;
volatile int y = 2;

const int z = x/y;

int main(){
    int x = 2 + 3;

    double d = 7 / 3;
}
Run Code Online (Sandbox Code Playgroud)

我这里有三个问题:

首先,在这种情况下,编译器可以在编译时计算'z'的值为1吗?

其次,我观察到编译器不生成用于添加2和3来初始化x的汇编指令.它用5直接初始化x.用'd'可以做同样的事情吗?

第三,有没有关于这两个概念的好书?标准中的任何引用都会有所帮助(标准文档似乎是一个有趣的地方,虽然非常可怕)

c++ floating-point optimization volatile

7
推荐指数
1
解决办法
360
查看次数

标签 统计

c++ ×2

floating-point ×1

optimization ×1

volatile ×1