Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : c++

C/C++ ÄÚ´æ¿Õ¼ä·ÖÅä


Ò». ÔÚcÖзÖΪÕ⼸¸ö´æ´¢Çø
1.Õ» - ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å
2.¶Ñ - Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ
3.È«¾ÖÇø£¨¾²Ì¬Çø£©£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬Î´³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£- ³ÌÐò½áÊøÊÍ·Å
4.ÁíÍ⻹ÓÐÒ»¸öרÃŷų£Á¿µÄµØ·½¡£- ³ÌÐò½áÊøÊÍ·Å
                                                                                                             & ......

C/C++ ÄÚ´æ¿Õ¼ä·ÖÅä


Ò». ÔÚcÖзÖΪÕ⼸¸ö´æ´¢Çø
1.Õ» - ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å
2.¶Ñ - Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøÊ±¿ÉÄÜÓÉOS»ØÊÕ
3.È«¾ÖÇø£¨¾²Ì¬Çø£©£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬Î´³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£- ³ÌÐò½áÊøÊÍ·Å
4.ÁíÍ⻹ÓÐÒ»¸öרÃŷų£Á¿µÄµØ·½¡£- ³ÌÐò½áÊøÊÍ·Å
                                                                                                             & ......

C/C++ÃæÊÔÌâ

1.½éÉÜÒ»ÏÂSTL£¬Ïêϸ˵Ã÷STLÈçºÎʵÏÖvector.
    Answer£º
    STL £¨±ê׼ģ°æ¿â£¬Standard Template Library.ËüÓÉÈÝÆ÷Ëã·¨µü´úÆ÷×é³É¡£
    STLÓÐÒÔϵÄһЩÓŵ㣺¿ÉÒÔ·½±ãÈÝÒ×µØÊµÏÖËÑË÷Êý¾Ý»ò¶ÔÊý¾ÝÅÅÐòµÈһϵÁеÄËã·¨£»µ÷ÊÔ³ÌÐòʱ¸ü¼Ó°²È« ºÍ·½±ã£»¼´Ê¹ÊÇÈËÃÇÓÃSTLÔÚUNIXƽ̨ÏÂдµÄ´úÂëÄãÒ²¿ÉÒÔºÜÈÝÒ×µØÀí½â£¨ÒòΪSTLÊÇ¿çÆ½Ì¨µÄ£©¡£
    vectorʵÖÊÉϾÍÊÇÒ»¸ö¶¯Ì¬Êý×飬»á¸ù¾ÝÊý¾ÝµÄÔö¼Ó£¬¶¯Ì¬µÄÔö¼ÓÊý×é¿Õ¼ä¡£
2.Èç¹ûÓÃVC¿ª·¢³ÌÐò£¬³£¼ûÕâô¼¸¸ö´íÎó£¬C2001£¬c2005£¬c2011£¬ÕâЩ´íÎóµÄÔ­ÒòÊÇʲô¡£
    Answer£º
    ÔÚѧϰVC++ µÄ¹ý³ÌÖУ¬Óöµ½µÄLNK2001´íÎóµÄ´íÎóÏûÏ¢Ö÷ҪΪ£ºunresolved external symbol “symbol”£¨²»È·¶¨µÄÍⲿ“·ûºÅ”£©¡£
    Èç¹ûÁ¬½Ó³ÌÐò²»ÄÜÔÚËùÓеĿâºÍÄ¿±êÎļþÄÚÕÒµ½ËùÒýÓõĺ¯Êý¡¢±äÁ¿»ò±êÇ©£¬½«²úÉú´Ë´íÎóÏûÏ¢¡£
    Ò»°ãÀ´Ëµ£¬·¢Éú´íÎóµÄÔ­ÒòÓÐÁ½¸ö£ºÒ»ÊÇËùÒýÓõĺ¯Êý¡¢±äÁ¿²»´æÔÚ¡¢Æ´Ð´²»ÕýÈ·»òÕßʹÓôíÎ󣻯ä´Î¿ÉÄÜʹÓÃÁ˲»Í¬°æ±¾µÄÁ¬½Ó¿â¡£
    ±à³ÌÖо­³£Ä ......

C/C++ÃæÊÔÌâ

1.½éÉÜÒ»ÏÂSTL£¬Ïêϸ˵Ã÷STLÈçºÎʵÏÖvector.
    Answer£º
    STL £¨±ê׼ģ°æ¿â£¬Standard Template Library.ËüÓÉÈÝÆ÷Ëã·¨µü´úÆ÷×é³É¡£
    STLÓÐÒÔϵÄһЩÓŵ㣺¿ÉÒÔ·½±ãÈÝÒ×µØÊµÏÖËÑË÷Êý¾Ý»ò¶ÔÊý¾ÝÅÅÐòµÈһϵÁеÄËã·¨£»µ÷ÊÔ³ÌÐòʱ¸ü¼Ó°²È« ºÍ·½±ã£»¼´Ê¹ÊÇÈËÃÇÓÃSTLÔÚUNIXƽ̨ÏÂдµÄ´úÂëÄãÒ²¿ÉÒÔºÜÈÝÒ×µØÀí½â£¨ÒòΪSTLÊÇ¿çÆ½Ì¨µÄ£©¡£
    vectorʵÖÊÉϾÍÊÇÒ»¸ö¶¯Ì¬Êý×飬»á¸ù¾ÝÊý¾ÝµÄÔö¼Ó£¬¶¯Ì¬µÄÔö¼ÓÊý×é¿Õ¼ä¡£
2.Èç¹ûÓÃVC¿ª·¢³ÌÐò£¬³£¼ûÕâô¼¸¸ö´íÎó£¬C2001£¬c2005£¬c2011£¬ÕâЩ´íÎóµÄÔ­ÒòÊÇʲô¡£
    Answer£º
    ÔÚѧϰVC++ µÄ¹ý³ÌÖУ¬Óöµ½µÄLNK2001´íÎóµÄ´íÎóÏûÏ¢Ö÷ҪΪ£ºunresolved external symbol “symbol”£¨²»È·¶¨µÄÍⲿ“·ûºÅ”£©¡£
    Èç¹ûÁ¬½Ó³ÌÐò²»ÄÜÔÚËùÓеĿâºÍÄ¿±êÎļþÄÚÕÒµ½ËùÒýÓõĺ¯Êý¡¢±äÁ¿»ò±êÇ©£¬½«²úÉú´Ë´íÎóÏûÏ¢¡£
    Ò»°ãÀ´Ëµ£¬·¢Éú´íÎóµÄÔ­ÒòÓÐÁ½¸ö£ºÒ»ÊÇËùÒýÓõĺ¯Êý¡¢±äÁ¿²»´æÔÚ¡¢Æ´Ð´²»ÕýÈ·»òÕßʹÓôíÎ󣻯ä´Î¿ÉÄÜʹÓÃÁ˲»Í¬°æ±¾µÄÁ¬½Ó¿â¡£
    ±à³ÌÖо­³£Ä ......

Pipe is a worm hole connecting C and C++

In C programming language, the observer design pattern is implemented with function pointer (aka callback function). But in Qt library, it introduces signal and slot. How to link a callback function from the C callback function to the C++ siganl and slot is a problem I encounter. Call back function can only be static, but signal and slot can not. There are some triky way to pretend a non-static function to a static function. But the easiest way is to use pipe. the callback function create a pipe and do the read operation, while the siganl function wait for and read at the other end of the pipe.
The pipe is like a worm hole connecting C and C++, two different time and space. How cool! ......

Pipe is a worm hole connecting C and C++

In C programming language, the observer design pattern is implemented with function pointer (aka callback function). But in Qt library, it introduces signal and slot. How to link a callback function from the C callback function to the C++ siganl and slot is a problem I encounter. Call back function can only be static, but signal and slot can not. There are some triky way to pretend a non-static function to a static function. But the easiest way is to use pipe. the callback function create a pipe and do the read operation, while the siganl function wait for and read at the other end of the pipe.
The pipe is like a worm hole connecting C and C++, two different time and space. How cool! ......

CºÍC++ÖеÄCONST¡¡¡¡

CÖеÄCONST¡¡¡¡
CÖÐCONSTµÄʹÓãº
¡¡¡¡constÊÇÒ»¸öCÓïÑԵĹؼü×Ö£¬ËüÏÞ¶¨Ò»¸ö±äÁ¿²»ÔÊÐí±»¸Ä±ä¡£Ê¹ÓÃconstÔÚÒ»¶¨³Ì¶ÈÉÏ¿ÉÒÔÌá¸ß³ÌÐòµÄ°²È«ÐԺͿɿ¿ÐÔ£¬ÁíÍ⣬ÔÚ¹Û¿´±ðÈË´úÂëµÄʱºò£¬ÇåÎúÀí½âconstËùÆðµÄ×÷Ó㬶ÔÀí½â¶Ô·½µÄ³ÌÐòÒ²ÓÐһЩ°ïÖú¡£
¡¡¡¡ËäÈ»ÕâÌýÆðÀ´ºÜ¼òµ¥£¬µ«Êµ¼ÊÉÏ£¬constµÄʹÓÃÒ²ÊÇcÓïÑÔÖÐÒ»¸ö±È½Ï΢ÃîµÄµØ·½£¬Î¢ÃîÔںδ¦ÄØ£¿Çë¿´ÏÂÃæ¼¸¸öÎÊÌâ¡£
¡¡¡¡ÎÊÌ⣺const±äÁ¿ & ³£Á¿
£¨¸ù¾ÝC/C++Éî²ã̽Ë÷Õâ±¾ÊéÀïÃæµÄ±ä³¤Êý×éÕ½ÚËù˵ÕâÑùÔÚC99±ê×¼ÖÐÊÇ¿ÉÒÔµÄÁË¡£ÉõÖÁ¿ÉÒÔÊÇint f();int C[f()];ÕâÑùÊÇΪÁË·½±ãʹÓöàάÊý×é¡£ÓдýÎÒÔÚVC£¬GCCÖÐÑéÖ¤ÁËÔÙ˵£¡£©
¡¡¡¡ÎªÊ²Ã´ÏÂÃæµÄÀý×ÓÔÚʹÓÃÒ»¸öconst±äÁ¿À´³õʼ»¯Êý×飬ANSI CµÄ±àÒëÆ÷»á±¨¸æÒ»¸ö´íÎóÄØ£¿¡¡
¡¡¡¡const int n = 5;
¡¡¡¡int a[n];
¡¡¡¡´ð°¸Óë·ÖÎö:
¡¡¡¡1£©¡¢Õâ¸öÎÊÌâÌÖÂÛµÄÊÇ“³£Á¿”Óë“Ö»¶Á±äÁ¿”µÄÇø±ð¡£³£Á¿¿Ï¶¨ÊÇÖ»¶ÁµÄ£¬ÀýÈç5£¬ “abc”£¬µÈ£¬¿Ï¶¨ÊÇÖ»¶ÁµÄ£¬ÒòΪÒòΪ³£Á¿ÊDZ»±àÒëÆ÷·ÅÔÚÄÚ´æÖеÄÖ»¶ÁÇøÓò£¬µ±È»Ò²¾Í²»Äܹ»È¥ÐÞ¸ÄËü¡£¶ø“Ö»¶Á±äÁ¿”ÔòÊÇÔÚÄÚ´æÖпª±ÙÒ»¸öµØ·½À´´æ·ÅËüµÄÖµ£¬Ö»²»¹ýÕâ¸öÖµÓɱàÒëÆ÷ÏÞ¶¨²»ÔÊÐí±»Ð޸ġ£CÓïÑԹؼü×Öconst¾ ......

CºÍC++ÖеÄCONST¡¡¡¡

CÖеÄCONST¡¡¡¡
CÖÐCONSTµÄʹÓãº
¡¡¡¡constÊÇÒ»¸öCÓïÑԵĹؼü×Ö£¬ËüÏÞ¶¨Ò»¸ö±äÁ¿²»ÔÊÐí±»¸Ä±ä¡£Ê¹ÓÃconstÔÚÒ»¶¨³Ì¶ÈÉÏ¿ÉÒÔÌá¸ß³ÌÐòµÄ°²È«ÐԺͿɿ¿ÐÔ£¬ÁíÍ⣬ÔÚ¹Û¿´±ðÈË´úÂëµÄʱºò£¬ÇåÎúÀí½âconstËùÆðµÄ×÷Ó㬶ÔÀí½â¶Ô·½µÄ³ÌÐòÒ²ÓÐһЩ°ïÖú¡£
¡¡¡¡ËäÈ»ÕâÌýÆðÀ´ºÜ¼òµ¥£¬µ«Êµ¼ÊÉÏ£¬constµÄʹÓÃÒ²ÊÇcÓïÑÔÖÐÒ»¸ö±È½Ï΢ÃîµÄµØ·½£¬Î¢ÃîÔںδ¦ÄØ£¿Çë¿´ÏÂÃæ¼¸¸öÎÊÌâ¡£
¡¡¡¡ÎÊÌ⣺const±äÁ¿ & ³£Á¿
£¨¸ù¾ÝC/C++Éî²ã̽Ë÷Õâ±¾ÊéÀïÃæµÄ±ä³¤Êý×éÕ½ÚËù˵ÕâÑùÔÚC99±ê×¼ÖÐÊÇ¿ÉÒÔµÄÁË¡£ÉõÖÁ¿ÉÒÔÊÇint f();int C[f()];ÕâÑùÊÇΪÁË·½±ãʹÓöàάÊý×é¡£ÓдýÎÒÔÚVC£¬GCCÖÐÑéÖ¤ÁËÔÙ˵£¡£©
¡¡¡¡ÎªÊ²Ã´ÏÂÃæµÄÀý×ÓÔÚʹÓÃÒ»¸öconst±äÁ¿À´³õʼ»¯Êý×飬ANSI CµÄ±àÒëÆ÷»á±¨¸æÒ»¸ö´íÎóÄØ£¿¡¡
¡¡¡¡const int n = 5;
¡¡¡¡int a[n];
¡¡¡¡´ð°¸Óë·ÖÎö:
¡¡¡¡1£©¡¢Õâ¸öÎÊÌâÌÖÂÛµÄÊÇ“³£Á¿”Óë“Ö»¶Á±äÁ¿”µÄÇø±ð¡£³£Á¿¿Ï¶¨ÊÇÖ»¶ÁµÄ£¬ÀýÈç5£¬ “abc”£¬µÈ£¬¿Ï¶¨ÊÇÖ»¶ÁµÄ£¬ÒòΪÒòΪ³£Á¿ÊDZ»±àÒëÆ÷·ÅÔÚÄÚ´æÖеÄÖ»¶ÁÇøÓò£¬µ±È»Ò²¾Í²»Äܹ»È¥ÐÞ¸ÄËü¡£¶ø“Ö»¶Á±äÁ¿”ÔòÊÇÔÚÄÚ´æÖпª±ÙÒ»¸öµØ·½À´´æ·ÅËüµÄÖµ£¬Ö»²»¹ýÕâ¸öÖµÓɱàÒëÆ÷ÏÞ¶¨²»ÔÊÐí±»Ð޸ġ£CÓïÑԹؼü×Öconst¾ ......

ÔõôÑùÔÚC/C++Öе÷ÓÃJava

Java¿çƽ̨µÄÌØÐÔʹJavaÔ½À´Ô½ÊÜ¿ª·¢ÈËÔ±µÄ»¶Ó­£¬µ«Ò²ÍùÍù»áÌýµ½²»Éٵı§Ô¹£ºÓÃJava¿ª·¢µÄͼÐÎÓû§´°¿Ú½çÃæÃ¿´ÎÔÚÆô¶¯µÄʱºò¶¼»áÌø³öÒ»¸ö¿ØÖÆÌ¨´°¿Ú£¬Õâ¸ö¿ØÖÆÌ¨´°¿ÚÈñ¾À´·Ç³£°ôµÄ½çÃæÊ§É«²»ÉÙ¡£ÔõôÄܹ»ÈÃͨ¹ýJava¿ª·¢µÄGUI³ÌÐò²»µ¯³öJavaµÄ¿ØÖÆÌ¨´°¿ÚÄØ£¿ÆäʵÏÖÔںܶàÁ÷ÐеĿª·¢»·¾³ÀýÈçJBuilder¡¢Eclipse¶¼ÊÇʹÓô¿Java¿ª·¢µÄ¼¯³É»·¾³¡£ÕâЩ¼¯³É»·¾³Æô¶¯µÄʱºò²¢²»»á´ò¿ªÒ»¸öÃüÁî´°¿Ú£¬ÒòΪËüʹÓÃÁËJNI£¨Java Native Interface£©µÄ¼¼Êõ¡£Í¨¹ýÕâÖÖ¼¼Êõ£¬¿ª·¢ÈËÔ±²»Ò»¶¨ÒªÓÃÃüÁîÐÐÀ´Æô¶¯Java³ÌÐò£¬¿ÉÒÔͨ¹ý±àдһ¸ö±¾µØGUI³ÌÐòÖ±½ÓÆô¶¯Java³ÌÐò£¬ÕâÑù¾Í¿É±ÜÃâÁíÍâ´ò¿ªÒ»¸öÃüÁî´°¿Ú£¬Èÿª·¢µÄJava³ÌÐò¸ü¼Óרҵ¡£
JNIÔÊÐíÔËÐÐÔÚÐéÄâ»úµÄJava³ÌÐòÄܹ»ÓëÆäËüÓïÑÔ£¨ÀýÈçCºÍC++£©±àдµÄ³ÌÐò»òÕßÀà¿â½øÐÐÏ໥¼äµÄµ÷Óá£Í¬Ê±JNIÌṩµÄÒ»ÕûÌ×µÄAPI£¬ÔÊÐí½«JavaÐéÄâ»úÖ±½ÓǶÈëµ½±¾µØµÄÓ¦ÓóÌÐòÖС£
±¾ÎĽ«½éÉÜÈçºÎÔÚC/C++Öе÷ÓÃJava·½·¨£¬²¢½áºÏ¿ÉÄÜÉæ¼°µ½µÄÎÊÌâ½éÉÜÕû¸ö¿ª·¢µÄ²½Öè¼°¿ÉÄÜÓöµ½µÄÄÑÌâºÍ½â¾ö·½·¨¡£±¾ÎÄËù²ÉÓõŤ¾ßÊÇSun¹«Ë¾´´½¨µÄ Java Development Kit (JDK) °æ±¾ 1.3.1£¬ÒÔ¼°Î¢Èí¹«Ë¾µÄVisual C++ 6¿ª·¢»·¾³¡£
»·¾³´î½¨
ΪÁËÈñ¾ÎÄÒÔϲ¿·ÖµÄ´úÂëÄܹ»Õý³£¹¤×÷ ......

ÔõôÑùÔÚC/C++Öе÷ÓÃJava

Java¿çƽ̨µÄÌØÐÔʹJavaÔ½À´Ô½ÊÜ¿ª·¢ÈËÔ±µÄ»¶Ó­£¬µ«Ò²ÍùÍù»áÌýµ½²»Éٵı§Ô¹£ºÓÃJava¿ª·¢µÄͼÐÎÓû§´°¿Ú½çÃæÃ¿´ÎÔÚÆô¶¯µÄʱºò¶¼»áÌø³öÒ»¸ö¿ØÖÆÌ¨´°¿Ú£¬Õâ¸ö¿ØÖÆÌ¨´°¿ÚÈñ¾À´·Ç³£°ôµÄ½çÃæÊ§É«²»ÉÙ¡£ÔõôÄܹ»ÈÃͨ¹ýJava¿ª·¢µÄGUI³ÌÐò²»µ¯³öJavaµÄ¿ØÖÆÌ¨´°¿ÚÄØ£¿ÆäʵÏÖÔںܶàÁ÷ÐеĿª·¢»·¾³ÀýÈçJBuilder¡¢Eclipse¶¼ÊÇʹÓô¿Java¿ª·¢µÄ¼¯³É»·¾³¡£ÕâЩ¼¯³É»·¾³Æô¶¯µÄʱºò²¢²»»á´ò¿ªÒ»¸öÃüÁî´°¿Ú£¬ÒòΪËüʹÓÃÁËJNI£¨Java Native Interface£©µÄ¼¼Êõ¡£Í¨¹ýÕâÖÖ¼¼Êõ£¬¿ª·¢ÈËÔ±²»Ò»¶¨ÒªÓÃÃüÁîÐÐÀ´Æô¶¯Java³ÌÐò£¬¿ÉÒÔͨ¹ý±àдһ¸ö±¾µØGUI³ÌÐòÖ±½ÓÆô¶¯Java³ÌÐò£¬ÕâÑù¾Í¿É±ÜÃâÁíÍâ´ò¿ªÒ»¸öÃüÁî´°¿Ú£¬Èÿª·¢µÄJava³ÌÐò¸ü¼Óרҵ¡£
JNIÔÊÐíÔËÐÐÔÚÐéÄâ»úµÄJava³ÌÐòÄܹ»ÓëÆäËüÓïÑÔ£¨ÀýÈçCºÍC++£©±àдµÄ³ÌÐò»òÕßÀà¿â½øÐÐÏ໥¼äµÄµ÷Óá£Í¬Ê±JNIÌṩµÄÒ»ÕûÌ×µÄAPI£¬ÔÊÐí½«JavaÐéÄâ»úÖ±½ÓǶÈëµ½±¾µØµÄÓ¦ÓóÌÐòÖС£
±¾ÎĽ«½éÉÜÈçºÎÔÚC/C++Öе÷ÓÃJava·½·¨£¬²¢½áºÏ¿ÉÄÜÉæ¼°µ½µÄÎÊÌâ½éÉÜÕû¸ö¿ª·¢µÄ²½Öè¼°¿ÉÄÜÓöµ½µÄÄÑÌâºÍ½â¾ö·½·¨¡£±¾ÎÄËù²ÉÓõŤ¾ßÊÇSun¹«Ë¾´´½¨µÄ Java Development Kit (JDK) °æ±¾ 1.3.1£¬ÒÔ¼°Î¢Èí¹«Ë¾µÄVisual C++ 6¿ª·¢»·¾³¡£
»·¾³´î½¨
ΪÁËÈñ¾ÎÄÒÔϲ¿·ÖµÄ´úÂëÄܹ»Õý³£¹¤×÷ ......

C++´¦ÀíconstÀàÐͱäÁ¿ÓëCµÄ²»Í¬

    constÓë#define×î´óµÄ²î±ð£¬ConstÔÚ¶ÑÕ»·ÖÅäÁ˿ռ䣬¶ø#defineÖ»ÊǰѾßÌåÊýÖµÖ±½Ó´«µÝµ½Ä¿±ê±äÁ¿°ÕÁË¡£»òÕß˵£¬constµÄ³£Á¿ÊÇÒ»¸öRun-TimeµÄ¸ÅÄËûÔÚ³ÌÐòÖÐȷȷʵʵµÄ´æÔÚ¿ÉÒÔ±»µ÷Óᢴ«µÝ¡£¶ø#define³£Á¿ÔòÊÇÒ»¸öCompile-Time¸ÅÄËüµÄÉúÃüÖÜÆÚÖ¹ÓÚ±àÒëÆÚ£ºÔÚʵ¼Ê³ÌÐòÖÐËûÖ»ÊÇÒ»¸ö³£Êý¡¢Ò»¸öÃüÁîÖеIJÎÊý£¬Ã»ÓÐʵ¼ÊµÄ´æÔÚ¡£
¡¡¡¡@ const³£Á¿´æÔÚÓÚ³ÌÐòµÄÊý¾Ý¶Î¡£
¡¡¡¡@ #define³£Á¿´æÔÚÓÚ³ÌÐòµÄ´úÂë¶Î¡£
ÎÒÃÇÒª°ÑÕâ¸öÎÊÌâ·Ö²»Í¬µÄ±àÒëÆ÷À´¿´¡£ËùÒÔÒ»°ãÎÒÃÇÈÏΪ£¬Const³£Á¿ÊÇ·ÖÅäÁËÄÚ´æ¿Õ¼äµÄ£¬¶øÇÒÖ»·ÖÅäÒ»´Î£¬ÔÚʹÓÃConst³£Á¿Ê±ÓëʹÓñäÁ¿µÄÒýÓ÷½Ê½Ò»Ñù£¬ÈçÍõsanËù½²¡ºÊ¹ÓÃconst³£Á¿»¹¿ÉÒÔ±ÜÃâÄ¿±êÂëµÄ¶à·Ý¸´ÖÆ¡£ÔÚ³ÌÐòÖУ¬½öÓÐÒ»¸öÄÚ´æÀ´´æ·Å³£Á¿¡»
µ«ÊǸù¾Ý±àÒëÆ÷µÄ²»Í¬£¬»¹ÂÔÓв»Í¬¡£
¡ôC±àÒëÆ÷
ÔÚC±àÒëÏ£¬Const³£Á¿ÊÇÍêÈ«·ÖÅäÁËÄÚ´æ¿Õ¼äµÄ£¬ÔÚʹÓÃʱ£¬ÊÇÏñ±äÁ¿Ò»ÑùÀ´Ê¹Óõġ£²Î¼ûÒÔÏÂʵÑé´úÂë¡£
@@@@@@@@@@@@@@ʵÑé´úÂë@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
3: const int a = 100;
4: main()
5: {
7: int x = a;
00401028 mov eax,[_a (0041f01c)]
0040102D mov dword ptr [ebp-4],eax
@@@@@@@@@@@@@@ʵÑé´úÂë@@@@@@@@@@ ......

C++´¦ÀíconstÀàÐͱäÁ¿ÓëCµÄ²»Í¬

    constÓë#define×î´óµÄ²î±ð£¬ConstÔÚ¶ÑÕ»·ÖÅäÁ˿ռ䣬¶ø#defineÖ»ÊǰѾßÌåÊýÖµÖ±½Ó´«µÝµ½Ä¿±ê±äÁ¿°ÕÁË¡£»òÕß˵£¬constµÄ³£Á¿ÊÇÒ»¸öRun-TimeµÄ¸ÅÄËûÔÚ³ÌÐòÖÐȷȷʵʵµÄ´æÔÚ¿ÉÒÔ±»µ÷Óᢴ«µÝ¡£¶ø#define³£Á¿ÔòÊÇÒ»¸öCompile-Time¸ÅÄËüµÄÉúÃüÖÜÆÚÖ¹ÓÚ±àÒëÆÚ£ºÔÚʵ¼Ê³ÌÐòÖÐËûÖ»ÊÇÒ»¸ö³£Êý¡¢Ò»¸öÃüÁîÖеIJÎÊý£¬Ã»ÓÐʵ¼ÊµÄ´æÔÚ¡£
¡¡¡¡@ const³£Á¿´æÔÚÓÚ³ÌÐòµÄÊý¾Ý¶Î¡£
¡¡¡¡@ #define³£Á¿´æÔÚÓÚ³ÌÐòµÄ´úÂë¶Î¡£
ÎÒÃÇÒª°ÑÕâ¸öÎÊÌâ·Ö²»Í¬µÄ±àÒëÆ÷À´¿´¡£ËùÒÔÒ»°ãÎÒÃÇÈÏΪ£¬Const³£Á¿ÊÇ·ÖÅäÁËÄÚ´æ¿Õ¼äµÄ£¬¶øÇÒÖ»·ÖÅäÒ»´Î£¬ÔÚʹÓÃConst³£Á¿Ê±ÓëʹÓñäÁ¿µÄÒýÓ÷½Ê½Ò»Ñù£¬ÈçÍõsanËù½²¡ºÊ¹ÓÃconst³£Á¿»¹¿ÉÒÔ±ÜÃâÄ¿±êÂëµÄ¶à·Ý¸´ÖÆ¡£ÔÚ³ÌÐòÖУ¬½öÓÐÒ»¸öÄÚ´æÀ´´æ·Å³£Á¿¡»
µ«ÊǸù¾Ý±àÒëÆ÷µÄ²»Í¬£¬»¹ÂÔÓв»Í¬¡£
¡ôC±àÒëÆ÷
ÔÚC±àÒëÏ£¬Const³£Á¿ÊÇÍêÈ«·ÖÅäÁËÄÚ´æ¿Õ¼äµÄ£¬ÔÚʹÓÃʱ£¬ÊÇÏñ±äÁ¿Ò»ÑùÀ´Ê¹Óõġ£²Î¼ûÒÔÏÂʵÑé´úÂë¡£
@@@@@@@@@@@@@@ʵÑé´úÂë@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
3: const int a = 100;
4: main()
5: {
7: int x = a;
00401028 mov eax,[_a (0041f01c)]
0040102D mov dword ptr [ebp-4],eax
@@@@@@@@@@@@@@ʵÑé´úÂë@@@@@@@@@@ ......
×ܼǼÊý:969; ×ÜÒ³Êý:162; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [144] [145] [146] [147] 148 [149] [150] [151] [152] [153]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ