是i = ++ i;未定义的行为?

时间:2019-05-02 13:46:17

标签: c++

这是未定义的行为,对吗?在同一顺序点上有双重分配?

int i = 0;
i = ++i;

1 个答案:

答案 0 :(得分:2)

i = ++i;在C ++ 11之前的所有C ++标准中均未定义。

请注意,直到C ++ 17才定义使用后缀增量的相似表达式的同类。

如果++重载,则两者都定义,这是有争议的,因为增量对象是基元。