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;
Ïà¹ØÎĵµ£º
½ñÌìΪÁ˳¹µ×¸ã¶¨Ò»¸ö¹ØÓÚcÖÐÊý×é³õʼ»¯ºÍÉùÃ÷²»Í¬Çé¿öÏ£¬±ÈÈçÖ»ÉùÃ÷Ò»¸öÊý×échar str[20];ÄÇôÕâstrÀïÃæÊÇʲôÄÚÈÝÄØ£¿ÎÒÓÃvc6++£¬debugÏ¿´µ½¶¼ÊÇ-56¶öascÂ룬ºóÀ´Çë½ÌÁËÒ»¸ö»ªÎªµÄ´óÅ££¬Ëû˵ °´ÕÕÀíÂÛÀ´ËµÀïÃæµÄÄÚÈݶ¼ÊÇÓпÉÄܵģ¬ÕâºÍ½Ð×ö“ÔàÄÚ´æ”»òÕß½Ð×ö“Ò°Êý×锡£ºÃÁ˵ÚÒ»¸öÎÊÌâ¸ã¶®ÁË¡£
......
Code::BlocksÊÇÒ»¸öÃâ·Ñ¡¢¿ªÔ´¡¢¿çƽ̨µÄIDE£¬Ê¹ÓÃC++¿ª·¢£¬²¢ÇÒʹÓÃwxWidgets×öΪGUIº¯ÊÔ¿â¡£Code::BlocksʹÓÃÁ˲å¼þ¼Ü¹¹£¬Æä¹¦ÄÜ¿ÉÒÔʹÓòå¼þ×ÔÓɵØÀ©³ä¡£Ä¿Ç°£¬
Code::BlocksÖ÷ÒªÕë¶Ô¿ª·¢C£¯C++³Ìʽ¶øÉè¼Æ¡£
ÓÉÓÚËü¿ª·ÅÔ´ÂëµÄÌØµã£¬WindowsÓû§¿ÉÒÔ²»ÒÀÀµÓÚVS.NET£¬±àд¿çƽ̨C++Ó¦Ó ......
1 ÏÂÔØ°²×°jre£¬Eclipse±¾ÉíÊÇJava³ÌÐò£¬ÔËÐеÄʱºòÐèÒªjre¡£
2 ÏÂÔØEclispe for C/C++£¬½âѹµ½ÈÎÒâλÖá£
3 ÏÂÔØMingw°²×°³ÌÐò£¬ÔËÐУ¬Ñ¡ÔñÐèÒªµÄ×é¼þ£¬ÎÒÑ¡ÔñÁËg++±àÒëÆ÷ºÍMakefile¹¤¾ß£¬Ëü»á×Ô¶¯ÏÂÔØ°²×°¡£
4 ÏÂÔØ°²×°gdbµ½MingwµÄ°²×°Ä¿Â¼£¬gdbµÄbinºÍincludeĿ¼»áºÍMingwµÄͬÃûĿ¼ºÏ²¢µÄ¡£
ÏÂÃæ¿ªÊ¼ÅäÖÃEclipse¡ ......
³£¼ûÎÊÌ⣺
±àÒëʧ°Ü£¬±¨´íÈçÏ“ÎÞ·¨½âÎöµÄÍⲿ·ûºÅ _WSACleanup@0”µÈ¡£
ÔÒòÊÇûÓÐÒýÓÃwinsock.hËùÔڵĿâ--Ws2_32.lib¡£
ÕâʱֻҪÌí¼ÓÒ»ÐдúÂë
#pragma comment( lib, "Ws2_32.lib")
¼´¿É¡£ ......
·Ò룺cn-cuckoo | 2010-01-10 12:05:43 | ÔĶÁ129 | À´Ô´
ÃæÊÔǰ¶Ë¹¤³Ìʦ¶ÔÎÒÀ´ËµÊÇÒ»¼þ·Ç³£ÓÐÒâ˼µÄÊ£¬ÒòÎªÃæÊÔ¹ý³ÌºÜ´ó³Ì¶ÈÉÏÒ²ÊÇ×ÔÎÒÌáÉýµÄ¹ý³Ì¡£ÎÞÂÛ´ó¹«Ë¾»¹ÊÇС¹«Ë¾£¬Ö®ËùÒÔÔÚÈçºÎÕÐÆ¸µ½ÕæÕýÓÐÄÜÁ¦µÄǰ¶Ë¹¤³Ìʦ·½Ãæ»áÓöµ½Í¬ÑùµÄÎÊÌ⣬¾ÍÊÇÒòΪ¸ºÔðÕÐÆ¸µÄÄÇЩÈ˲»ÖªµÀ×Ô¼º¹«Ë¾ÐèҪʲôÑùµÄÈË£¬½á¹ûÎÊÎÊÌâʱҲÎʲ»µ ......