我仍在学习C++。我试图以逐步的方式理解评估是如何进行的。所以,使用这个简单的例子,一个表达式语句:
```
int x = 8 * 5 - 5;
```
以下是我认为发生的事情。请告诉我我有多远离正确: 1. 操作数x, 8, 5和5被 "评估"。可能会创建临时对象来保存每个值(我不太确定)。 2. 8 * 5评估为40,并存储在临时变量中。 3. 40(临时)- 5评估为35(另一个临时)。 4. 35被复制到x。 5. 所有临时对象按创建顺序相反的顺序被销毁(值被丢弃)。
我至少接近正确吗?
以下是我认为发生的事情。请告诉我我有多远离正确: 1. 操作数x, 8, 5和5被 "评估"。可能会创建临时对象来保存每个值(我不太确定)。 2. 8 * 5评估为40,并存储在临时变量中。 3. 40(临时)- 5评估为35(另一个临时)。 4. 35被复制到x。 5. 所有临时对象按创建顺序相反的顺序被销毁(值被丢弃)。
我至少接近正确吗?