(资料图片)
1、当一个对象的值可能会在编译器的控制或检测之外被改变时,例如一个被系统时钟更新的变量,那么对象应该声明成volatile。
2、编译器执行的某些例行优化行为不能应用在已指定为volatile的对象上。
3、volatile限定符的用法同const非常相似,都是作为类型的附加修饰符。
4、volatile修饰符的主要目的是提示编译器,该对象的值可能在编译器未监测到的情况下被改变。
5、因此编译器不能武断的对引用这些对象的代码作优化处理。
本文到此分享完毕,希望对大家有所帮助。
(资料图片)
1、当一个对象的值可能会在编译器的控制或检测之外被改变时,例如一个被系统时钟更新的变量,那么对象应该声明成volatile。
2、编译器执行的某些例行优化行为不能应用在已指定为volatile的对象上。
3、volatile限定符的用法同const非常相似,都是作为类型的附加修饰符。
4、volatile修饰符的主要目的是提示编译器,该对象的值可能在编译器未监测到的情况下被改变。
5、因此编译器不能武断的对引用这些对象的代码作优化处理。
本文到此分享完毕,希望对大家有所帮助。