Â̲èÈí¼þÔ°
×ÊѶÊ×Ò³> Èí¼þ½Ì³Ì> ±à³Ì¿ª·¢> C++ÖеÄstaticÔõôÓã¿C++ staticÓ÷¨»ã×Ü

C++ÖеÄstaticÔõôÓã¿C++ staticÓ÷¨»ã×Ü

×÷ÕߣºØýÃûÀ´Ô´£ºÂ̲èÈí¼þÔ°2013-05-10 11:16:38


C++ÖеÄstaticÓÐÄÄЩÓ÷¨£¿ÏàÐźܶàÔÚѧϰC++µÄÅóÓѶ¼»áÎÊÕâ¸öÎÊÌâ¡£½ñÌ죬Â̲èС±àÕûÀíÁË C++ÖÐstaticµÄËÄÖÖÓ÷¨£¬ÓÐÐËȤµÄÅóÓÑ¿ÉÒÔÀ´¿´Ò»¿´¡£

ÒªÀí½âstatic£¬¾Í±ØÐëÒªÏÈÀí½âÁíÒ»¸öÓëÖ®Ïà¶ÔµÄ¹Ø¼ü×Ö£¬ºÜ¶àÈË¿ÉÄܶ¼»¹²»ÖªµÀÓÐÕâ¸ö¹Ø¼ü×Ö£¬ÄǾÍÊÇauto£¬ÆäʵÎÒÃÇͨ³£ÉùÃ÷µÄ²»ÓÃstaticÐÞÊεıäÁ¿£¬¶¼ÊÇautoµÄ£¬ÒòΪËüÊÇĬÈϵģ¬¾ÍÏóshortºÍlong×ÜÊÇĬÈÏΪintÒ»Ñù¡£

ÎÒÃÇͨ³£ÉùÃ÷Ò»¸ö±äÁ¿£º

¡¡¡¡int a;

¡¡¡¡string s;

¡¡¡¡Æäʵ¾ÍÊÇ£º

¡¡¡¡auto int a;

¡¡¡¡auto string s;

¡¡¡¡¶østatic±äÁ¿µÄÉùÃ÷ÊÇ£º

¡¡¡¡static int a;

¡¡¡¡static string s;

¡¡¡¡ÕâÑùËƺõ¿ÉÒÔ¸üÓÐÀûÓÚÀí½âautoºÍstaticÊÇÒ»¶Ô³É¶ÔµÄ¹Ø¼ü×Ö°É£¬¾ÍÏñprivate£¬protected£¬publicÒ»Ñù;

¡¡¡¡¶ÔÓÚstaticµÄ²»Àí½â£¬Æäʵ¾ÍÊǶÔÓÚautoµÄ²»Àí½â£¬ÒòΪËüÊǸüÒ»°ãµÄ;ÓеĶ«Î÷ÄãÌìÌìÔÚÓ㬵«Î´±Ø¾Í´ú±íÄãÕæÕýÁ˽âËü;autoµÄº¬ÒåÊÇÓɳÌÐò×Ô¶¯¿ØÖƱäÁ¿µÄÉú´æÖÜÆÚ£¬Í¨³£Ö¸µÄ¾ÍÊDZäÁ¿ÔÚ½øÈëÆä×÷ÓÃÓòµÄʱºò±»·ÖÅ䣬À뿪Æä×÷ÓÃÓòµÄʱºò±»ÊÍ·Å;¶østatic¾ÍÊDz»auto£¬±äÁ¿ÔÚ³ÌÐò³õʼ»¯Ê±±»·ÖÅ䣬ֱµ½³ÌÐòÍ˳öÇ°²Å±»ÊÍ·Å¡£

Ò²¾ÍÊÇstaticÊÇ°´ÕÕ³ÌÐòµÄÉúÃüÖÜÆÚÀ´·ÖÅäÊͷűäÁ¿µÄ£¬¶ø²»ÊDZäÁ¿×Ô¼ºµÄÉúÃüÖÜÆÚ;ËùÒÔ£¬ÏñÕâÑùµÄÀý×Ó£º

¡¡¡¡void func()

¡¡¡¡{

¡¡¡¡int a;

¡¡¡¡static int b;

¡¡¡¡}

¡¡¡¡Ã¿Ò»´Îµ÷Óøú¯Êý£¬±äÁ¿a¶¼ÊÇеģ¬ÒòΪËüÊÇÔÚ½øÈ뺯ÊýÌåµÄʱºò±»·ÖÅ䣬Í˳öº¯ÊýÌåµÄʱºò±»ÊÍ·Å£¬ËùÒÔ¶à¸öÏ̵߳÷Óøú¯Êý£¬¶¼»áÓµÓи÷×Ô¶ÀÁ¢µÄ±äÁ¿a£¬ÒòΪËü×ÜÊÇÒª±»ÖØзÖÅäµÄ;¶ø±äÁ¿b²»¹ÜÄãÊÇ·ñʹÓøú¯Êý£¬ÔÚ³ÌÐò³õʼ»¯Ê±¾Í±»·ÖÅäµÄÁË£¬»òÕßÔÚµÚÒ»´ÎÖ´Ðе½ËüµÄÉùÃ÷µÄʱºò·ÖÅä(²»Í¬µÄ±àÒëÆ÷¿ÉÄܲ»Í¬)£¬ËùÒÔ¶à¸öÏ̵߳÷Óøú¯ÊýµÄʱºò£¬×ÜÊÇ·ÃÎÊͬһ¸ö±äÁ¿b£¬ÕâÒ²ÊÇÔÚ¶àÏ̱߳à³ÌÖбØÐë×¢ÒâµÄ!

staticÓ÷¨Ò»¡¢ÀàµÄ¾²Ì¬³ÉÔ±£º

¡¡¡¡class A

¡¡¡¡{

¡¡¡¡private:

¡¡¡¡static int s_value;

¡¡¡¡};

¡¡¡¡ÔÚcppÖбØÐë¶ÔËü½øÐгõʼ»¯£º

¡¡¡¡int A::s_value = 0;// ×¢Ò⣬ÕâÀïûÓÐstaticµÄÐÞÊÎ!

¡¡¡¡ÀàµÄ¾²Ì¬³ÉÔ±ÊǸÃÀàËùÓÐʵÀýµÄ¹²ÓóÉÔ±£¬Ò²¾ÍÊÇÔÚ¸ÃÀàµÄ·¶³ëÄÚÊǸöÈ«¾Ö±äÁ¿£¬Ò²¿ÉÒÔÀí½âΪÊÇÒ»¸öÃûΪA::s_valueµÄÈ«¾Ö±äÁ¿£¬Ö»²»¹ýËüÊÇ´øÓÐÀలȫÊôÐÔµÄ;µÀÀíºÜ¼òµ¥£¬ÒòΪËüÊÇÔÚ³ÌÐò³õʼ»¯µÄʱºò·ÖÅäµÄ£¬ËùÒÔÖ»·ÖÅäÒ»´Î£¬ËùÒÔ¾ÍÊǹ²ÓõÄ;

¡¡¡¡ÀàµÄ¾²Ì¬³ÉÔ±±ØÐë³õʼ»¯£¬µÀÀíÒ²ÊÇÒ»ÑùµÄ£¬ÒòΪËüÊÇÔÚ³ÌÐò³õʼ»¯µÄʱºò·ÖÅäµÄ£¬ËùÒÔ±ØÐëÓгõʼ»¯£¬ÀàÖÐÖ»ÊÇÉùÃ÷£¬ÔÚcppÖвÅÊdzõʼ»¯£¬Äã¿ÉÒÔÔÚ³õʼ»¯µÄ´úÂëÉϷŸö¶Ïµã£¬ÔÚ³ÌÐòÖ´ÐÐmainµÄµÚÒ»ÌõÓï¾ä֮ǰ¾Í»áÏÈ×ßµ½ÄÇ;Èç¹ûÄãµÄ¾²Ì¬³ÉÔ±ÊǸöÀ࣬ÄÇô¾Í»áµ÷Óõ½ËüµÄ¹¹Ô캯Êý;

1 2 >
¹Ø¼ü´Ê£º C++ static ±à³Ì
  • ÈÈÃÅÈí¼þ
  • ÈÈÃűêÇ©
·µ»Ø¶¥²¿