C++ volatile (ת)
(2008-10-15 17:14)
±äÁ¿¶¨ÒåΪvolatile£¬ËµÃ÷Õâ±äÁ¿¿ÉÄܻᱻÒâÏë²»µ½µØ¸Ä±ä¡£
±ÈÈçÏÂÃæµÄ³ÌÐò£º
long multiple(volatile int *pt)


{
return (*pt)*(*pt);
}
´úÂë¸æËß±àÒëÆ÷ *pt (¶ø·Çpt)µÄÖµ¿ÉÄÜÔÚÆäËûµØ·½±»¸Ä±ä¡£ËùÒÔ³ÌÐòÔËÐÐÖУ¬Ã¿´Î¶ÁÈ¡*ptʱ£¬¼´±ãÔÚ¸ßËÙ»º´æÖÐÃüÖУ¬Ò²Òª¶¼Òªµ½ÄÚ´æÖÐÖØÐ¶ÁÈ¡¡£
ÉÏÊö (*pt)*(*pt)ÆäʵÊǶÁÁËÁ½´Î*pt, Òò´ËÁ½´Î¶Áµ½µÄÖµ¿ÉÄܲ»Ò»Ö£¬ËùÒԾͲ»ÊÇÇ󯽷½ÁË¡£
ÐèÒªÐÞ¸ÄΪ£º
long multiple(volatile int *pt)


{
int a=*pt;
return a*a;
}
µ±½á¹¹»òÕß¶ÔÏóʹÓÃvolatileÐÞÊεÄʱºò£¬ËûÃÇËùÓÐÊý¾Ý³ÉÔ±¶¼»á±»ÊÓΪvolatile¡£
±ÈÈçÏÂÃæµÄ³ÌÐò£º
long multiple(volatile int *pt)

{
return (*pt)*(*pt);
}´úÂë¸æËß±àÒëÆ÷ *pt (¶ø·Çpt)µÄÖµ¿ÉÄÜÔÚÆäËûµØ·½±»¸Ä±ä¡£ËùÒÔ³ÌÐòÔËÐÐÖУ¬Ã¿´Î¶ÁÈ¡*ptʱ£¬¼´±ãÔÚ¸ßËÙ»º´æÖÐÃüÖУ¬Ò²Òª¶¼Òªµ½ÄÚ´æÖÐÖØÐ¶ÁÈ¡¡£
ÉÏÊö (*pt)*(*pt)ÆäʵÊǶÁÁËÁ½´Î*pt, Òò´ËÁ½´Î¶Áµ½µÄÖµ¿ÉÄܲ»Ò»Ö£¬ËùÒԾͲ»ÊÇÇ󯽷½ÁË¡£
ÐèÒªÐÞ¸ÄΪ£º
long multiple(volatile int *pt)

{
int a=*pt;
return a*a;
}µ±½á¹¹»òÕß¶ÔÏóʹÓÃvolatileÐÞÊεÄʱºò£¬ËûÃÇËùÓÐÊý¾Ý³ÉÔ±¶¼»á±»ÊÓΪvolatile¡£
