我还在学习C++.我试图以一种相当循序渐进的方式理解评估是如何进行的.所以使用这个简单的例子,表达式声明:
int x = 8*5 - 5;
这就是我认为发生的事情.请告诉我离我有多远:
操作数x,8,5和5被"评估".可能会创建一个临时对象来保存每个值(我对此不太确定).
8*5评估为40,存储在临时.
40(临时) - 5评估为35(另一个临时).
35被复制到x中.
所有临时对象都按照它们创建的相反顺序销毁(该值被丢弃).
我至少接近正确吗?
c++ evaluation expression temporary
c++ ×1
evaluation ×1
expression ×1
temporary ×1