小编Alf*_*ald的帖子

C++表达式评估:"引擎盖下"会发生什么?

我还在学习C++.我试图以一种相当循序渐进的方式理解评估是如何进行的.所以使用这个简单的例子,表达式声明:

int x = 8*5 - 5;

这就是我认为发生的事情.请告诉我离我有多远:

  1. 操作数x,8,5和5被"评估".可能会创建一个临时对象来保存每个值(我对此不太确定).

  2. 8*5评估为40,存储在临时.

  3. 40(临时) - 5评估为35(另一个临时).

  4. 35被复制到x中.

  5. 所有临时对象都按照它们创建的相反顺序销毁(该值被丢弃).

我至少接近正确吗?

c++ evaluation expression temporary

5
推荐指数
1
解决办法
130
查看次数

标签 统计

c++ ×1

evaluation ×1

expression ×1

temporary ×1