我老师递给我这份家庭作业。作为一个初学者,我只是不确定从哪里开始,或者这个图表甚至要求什么。有人可以简单地向我解释这一切吗?老师要我们填写类型,副作用(如果适用)和价值:
(http://i172.photobucket.com/albums/w32/Ravela_Smyth/Graph%201_zpslyxjgpde.jpg) (http://i172.photobucket.com/albums/w32/Ravela_Smyth/Graph%202_zpskoo3upjw.jpg)
编辑:为什么我一直被标记下来?我不明白我做错了什么?
答案 0 :(得分:0)
很简单:
表达式,代码的某些部分,它可以执行某些操作,例如a + b
类型,它询问,表达式的结果类型是什么,在C ++中可能会变得棘手:)。
Side-Effects,该语句具有某种结果类型和结果,但表达式可以同时更新过程中的一些变量作为sife效果。
以下是一个例子:
int i = 0;
int j = 0;
int k = 1;
auto rslt = cout << ++i << ( j += 2) << (k *= 5);
//now type of rslt would be? => &ostream, because &cout is of type ostream
// and we used overloaded operators for ostream and that overloaded operator
// is always returning ostream
// I hope you know auto, auto is leaving the decision about type on the compiler.
在屏幕上会有:125 现在的副作用:
++i // side effect of the operation is i: 1
(j += 2) // side effect of the operation is j: 2
(k *= 5) // side effect of the operation is k: 5
值为cout。