c/c++_static±äÁ¿µÄÓ¦ÓÃ
ÔÚCÓïÑÔ±à³ÌÖУ¬staticµÄÒ»¸ö×÷ÓÃÊÇÐÅÏ¢ÆÁ±Î£¡
±È·½Ëµ£¬Äã×Ô¼º¶¨ÒåÁËÒ»¸öÎļþ -- ¸ÃÎļþÖÐÓÐһϵÁеĺ¯ÊýÒÔ¼°±äÁ¿µÄÉùÃ÷ºÍ¶¨Ò壡
ÄãÏ£Íû¸ÃÎļþÖеÄһЩº¯ÊýºÍ±äÁ¿Ö»Äܱ»¸ÃÎļþÖеĺ¯ÊýʹÓã¬ÄÇô£¬Äã¿ÉÒÔÔڸú¯Êý¡¢±äÁ¿µÄÇ°Ãæ¼ÓÉÏstatic£¬´ú±íËûÃÇÖ»Äܱ»µ±Ç°ÎļþÖеĺ¯ÊýʹÓã¡
¶øÔÚC++ÖУ¬ÓÃstaticÀ´×÷ΪÐÅÏ¢ÆÁ±Î¾ÍÏÔµÃûÓбØÒªÁË£¡ÒòΪ£¬C++ÓÐÁËÐÅÏ¢ÆÁ±ÎµÄÀûÆ÷ -- class»úÖÆ£¡
ÀàÖеÄprivateÊôÐԵıäÁ¿ºÍº¯Êý¾Í¶ÔÍâ½ûÖ¹·ÃÎÊ£¡
È»ºóÊÇC/C++ͨÓõĺ¯Êý×÷ÓÃÓòµÄstaticÐ͵ıäÁ¿£¡ÆäÄ¿µÄ£¬Ò²ÊÇΪÁËÐÅÏ¢µÄÆÁ±Î£¡
int fun() {
static int a = 1;
a++;
}
ÔÚµÚÒ»´Î½øÈëÕâ¸öº¯ÊýµÄʱºò£¬±äÁ¿a±»³õʼ»¯Îª1£¡²¢½Ó×Å×ÔÔö1£¡
ÒÔºóÿ´Î½øÈë¸Ãº¯Êý£¬a¾Í²»»á±»Ôٴγõʼ»¯ÁË£¬½ö½øÐÐ×ÔÔö1µÄ²Ù×÷£¡
ÔÚstatic·¢Ã÷ǰ£¬Òª´ïµ½Í¬ÑùµÄ¹¦ÄÜ£¬ÔòÖ»ÄÜʹÓÃÈ«¾Ö±äÁ¿£º
int a = 1;
int fun() {
a++;
}
ÄÇô£¬aµÄÖµ¾ÍÓпÉÄܱ»ÆäËûº¯ÊýËù¸Ä±ä£¡
×îºó£¬ËµËµÀàÖеÄstatic±äÁ¿ºÍº¯Êý¡£
ÕâÖÖ´æ´¢ÊôÐԵıäÁ¿ºÍº¯ÊýÊÇͬһÖÖÀàµÄ²»Í¬ÊµÀýÖ®¼äͨÐŵÄÇÅÁº£¡
#include <iostream>
using namespace std;
class A {
public:
static int num; // ͳ¼Æ´´½¨Á˶àÉÙ¸öʵÀý
A () {num++}; // ÿ´´½¨Ò»¸öʵÀý£¬¾ÍÈÃnum×ÔÔö1
// ·µ»ØÍ¨¹ý¹¹Ô캯ÊýËù´´½¨¹ýµÄAÀàʵÀýµÄÊýÄ¿
static int how_many_instance() {
return num;
}
}
static A::num = 0; // ÐèÒªÔÚÀàÉêÃ÷µÄÍⲿµ¥¶À³õʼ»¯£¡
int main() {
cout << A::how_many_instance() << endl;
A a, b, c, d;
cout << A::how_many_instance() << endl;
Ïà¹ØÎĵµ£º
ÎÒÃdz£ËµµÄ×óÖµlvalueºÍÓÒÖµrvalue²¢²»¼òµ¥µØÒâζ×Å×óÓÒÇø±ð£¬ËüµÄÔʼ¶¨ÒåÈçÏ£º
Definition:
C and C++ have the notion of lvalues and rvalues associated with
variables and constants. The rvalue is the data value of the variable,
that is, what information it contains. The "r" in rvalue can ......
--------Éý¼¶ Space C V2.1.2
2010.2.16
*½«Èí¼þ½çÃæ·ç¸ñÐÞ¸ÄΪ¸úËæWindowsϵͳ£¬ÃÀ»¯ÁËÈí¼þ½çÃæ£¬Ê¹¿ª·¢¹ý³Ì¸üÊæÐÄ¡£
*½«DOXBoxÐéÄâµÄ¿ªÆô/¹Ø±Õ£¬¸ü¸Äµ½±àÒëÅäÖеÄTC2.0Ò³Ãæ¡£
*Ôö¼Ó‘СÓïÑÔ’Tiny µÄ±àÒëÆ÷-Smmy£¬²¢¸½´øDOS°æµÄTMMY_DOSÐéÄâ»ú¡£
*Ôö¼Ó‘СÓïÑÔ’Tiny µÄ¶ÔÓ¦Windows°æÐéÄâ»úTMMY ......
1 ÏÂÔØ°²×°jre£¬Eclipse±¾ÉíÊÇJava³ÌÐò£¬ÔËÐеÄʱºòÐèÒªjre¡£
2 ÏÂÔØEclispe for C/C++£¬½âѹµ½ÈÎÒâλÖá£
3 ÏÂÔØMingw°²×°³ÌÐò£¬ÔËÐУ¬Ñ¡ÔñÐèÒªµÄ×é¼þ£¬ÎÒÑ¡ÔñÁËg++±àÒëÆ÷ºÍMakefile¹¤¾ß£¬Ëü»á×Ô¶¯ÏÂÔØ°²×°¡£
4 ÏÂÔØ°²×°gdbµ½MingwµÄ°²×°Ä¿Â¼£¬gdbµÄbinºÍincludeĿ¼»áºÍMingwµÄͬÃûĿ¼ºÏ²¢µÄ¡£
ÏÂÃæ¿ªÊ¼ÅäÖÃEclipse¡ ......