关于++--操作符的隐含问题

来源:本站
导读:目前正在解读《关于++--操作符的隐含问题》的相关信息,《关于++--操作符的隐含问题》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《关于++--操作符的隐含问题》的详细说明。
简介:本文主要讲了一下关于++--操作符的隐含问题,下面一起来学习一下:

操作符++使用时可能引起意想不到的问题

如下:

int m_i = 0;

int m_r = 0;

m_r = (m_i++*2)+(m_i++*3);

本意可能是:

m_r1 = m_i*2, m_i++ //0*2 m_i=1

m_r2 = m_i*3, m_i++ //1*3 m_i=2

m_r = m_r1 + m_r2 //m_r=0+3

由于m_r的计算和m_r2的计算优先级相等,

所以编译器可以以任意顺序计算,

因此结果有可能是先计算m_r2=0,再计算m_r1=2。

结果m_r就存在两种可能值2或3.

为避免此类问题发生,++操作符应作为单独一条语句使用

--操作符存在同样的隐蔽性问题。

提醒:《关于++--操作符的隐含问题》最后刷新时间 2024-03-14 00:56:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《关于++--操作符的隐含问题》该内容的真实性请自行鉴别。