考虑:
struct device{
virtual void switchon() = 0 {}
};
int main()
{
}
Run Code Online (Sandbox Code Playgroud)
我写了类似于以下的代码,它给出了一个错误:
函数定义编译的纯指定符因-Wfatal-errors而终止.
当我问他时,他向我展示了标准中的以下引用:
在类中声明的虚函数应在该类中定义或声明为纯(10.4),或两者兼有; 但不需要诊断(3.2).
我似乎无法理解这意味着什么,我认为这在某种程度上是不相关的.
PS:如果这不是相关的引用,请引导我到正确的引用,以便我可以有更好的反驳.
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'可以做同样的事情吗?
第三,有没有关于这两个概念的好书?标准中的任何引用都会有所帮助(标准文档似乎是一个有趣的地方,虽然非常可怕)