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++±àÒëÆ÷
ΪÁËÌá¸ß³ÌÐòµÄÖ´ÐÐЧÂÊ£¬c++µÄ±àÒëÆ÷ͨ³£²»ÎªÆÕͨconst³£Á¿·ÖÅä´æ´¢¿Õ¼ä£¬¶øÊǽ«ËüÃDZ£´æÔÚ·ûºÅ±íÖУ¬ÕâʹµÃËü³ÉΪһ¸ö±àÒëÆÚ¼äµÄ³£Á¿£¬Ã»ÓÐÁË´æ´¢Óë¶ÁÄÚ´æµÄ²Ù×÷£¬Ê¹µÃËüµÄЧÂÊÒ²ºÜ¸ß£¬ÕâʱConst³£Á¿ÊǺÍ#define³£Á¿Ò»ÑùµÄ¡£ÈçÀîsanʵÑéµÄ½á¹ûÒ»Ñù¡º´Ó»ã±à´úÂë¿´£¬Á½ÖÖ·½·¨µÄ»ã±à´úÂëÊÇÏàͬµÄ£¬ËùÒÔÄ¿±êÂë¶à·Ý¸´ÖƺÃÏñÒ²²»³ÉÁ¢¡»¡£
µ«ÊÇC++±àÒëÆ÷¶Ô³ýÁËÖ±½Ó¶¨ÒåµÄConst³£Á¿Í⣬¶¼ÊÇ·ÖÅäÄÚ´æµÄ¡£ËùÒÔ£¬ÓÐÒÔÏÂÀ´ÄǸöÁ½ÖÖÇé¿ö¡£
1.·ÖÅäÄÚ´æµÄÇé¿ö:
extern const int bufsz; //ÍⲿÉùÃ÷
@@@@@@@@@@@@@@ʵÑé´úÂë@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
7: #define TEST_DATA_DEF 100;
9: extern const int ccd;
14: int a = TEST_DATA_DEF;
00401028 mov dword ptr [ebp-4],64h
15: int b = ccd;
0040102F mov eax,[ccd (0042201c)]
00401034 mov dword ptr [ebp-8],eax
@@@@@@@@@@@@@@ʵÑé´úÂë@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2. ²»·ÖÅäÄÚ´æµÄÇé¿ö:
const int bufsz = 100; //È«¾Ö³£Á¿
@@@@@@@@@@@@@@ʵÑé´úÂë@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
12: const int test = 100;
004
Ïà¹ØÎĵµ£º
¡¡¡¡ÒýÑÔ
¡¡¡¡Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚCÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øѧÉú½²½â£º"Êý×éÃû¾ÍÊÇÖ¸Õë"¡£ºÜÐÒÔË£¬ÎҵĴóѧÀÏʦ¾ÍÊÇÆäÖÐÖ®Ò»¡£Ê±ÖÁ½ñÈÕ£¬ÎÒÈÕ¸´Ò»ÈյؽøÐÐ×ÅC/C++ÏîÄ¿µÄ¿ª·¢£¬¶øÉ ......
×÷Õߣº
Ôøºê°²£¬»ªÇåÔ¶¼ûǶÈëʽѧԺ
¸ß¼¶½²Ê¦¡£
ÔËËã·ûsizeof¿ÉÒÔ¼ÆËã³ö¸ø¶¨ÀàÐ͵ĴóС£¬¶ÔÓÚ32λϵͳÀ´Ëµ£¬sizeof(char) = 1; sizeof(int) = 4¡£»ù±¾Êý¾ÝÀàÐ͵ĴóСºÜºÃ¼ÆË㣬ÎÒÃÇÀ´¿´Ò»ÏÂÈçºÎ¼ÆËã¹¹ÔìÊý¾ÝÀàÐ͵ĴóС¡£
CÓïÑÔÖеĹ¹ÔìÊý¾ÝÀàÐÍÓÐÈýÖÖ£ºÊý×é¡¢½á¹¹ÌåºÍ¹²ÓÃÌå¡£
Êý×éÊÇÏàͬÀàÐ͵ÄÔªËصļ¯ºÏ£¬Ö»Òª»á¼ÆËã ......
Ò». ÔÚcÖзÖΪÕ⼸¸ö´æ´¢Çø
1.Õ» - ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å
2.¶Ñ - Ò»°ãÓɳÌÐòÔ±·ÖÅäÊÍ·Å£¬Èô³ÌÐòÔ±²»ÊÍ·Å£¬³ÌÐò½áÊøʱ¿ÉÄÜÓÉOS»ØÊÕ
3.È«¾ÖÇø£¨¾²Ì¬Çø£©£¬È«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿µÄ´æ´¢ÊÇ·ÅÔÚÒ»¿éµÄ£¬³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍ¾²Ì¬±äÁ¿ÔÚÒ»¿éÇøÓò£¬Î´³õʼ»¯µÄÈ«¾Ö±äÁ¿ºÍδ³õʼ»¯µÄ¾²Ì¬±äÁ¿ÔÚÏàÁÚµÄÁíÒ»¿éÇøÓò¡£- ³ÌÐò½áÊøÊÍ·Å
4.Á ......
1.½éÉÜÒ»ÏÂSTL£¬Ïêϸ˵Ã÷STLÈçºÎʵÏÖvector.
Answer£º
STL £¨±ê׼ģ°æ¿â£¬Standard Template Library.ËüÓÉÈÝÆ÷Ëã·¨µü´úÆ÷×é³É¡£
STLÓÐÒÔϵÄһЩÓŵ㣺¿ÉÒÔ·½±ãÈÝÒ×µØʵÏÖËÑË÷Êý¾Ý»ò¶ÔÊý¾ÝÅÅÐòµÈһϵÁеÄËã·¨£»µ÷ÊÔ³ÌÐòʱ¸ü¼Ó°²È« ºÍ·½±ã£»¼´Ê¹ÊÇÈËÃÇÓÃSTLÔÚ ......
CÖеÄCONST¡¡¡¡
CÖÐCONSTµÄʹÓãº
¡¡¡¡constÊÇÒ»¸öCÓïÑԵĹؼü×Ö£¬ËüÏÞ¶¨Ò»¸ö±äÁ¿²»ÔÊÐí±»¸Ä±ä¡£Ê¹ÓÃconstÔÚÒ»¶¨³Ì¶ÈÉÏ¿ÉÒÔÌá¸ß³ÌÐòµÄ°²È«ÐԺͿɿ¿ÐÔ£¬ÁíÍ⣬ÔÚ¹Û¿´±ðÈË´úÂëµÄʱºò£¬ÇåÎúÀí½âconstËùÆðµÄ×÷Ó㬶ÔÀí½â¶Ô·½µÄ³ÌÐòÒ²ÓÐһЩ°ïÖú¡£
¡¡¡¡ËäÈ»ÕâÌýÆðÀ´ºÜ¼òµ¥£¬µ«Êµ¼ÊÉÏ£¬constµÄʹÓÃÒ²ÊÇcÓïÑÔÖÐÒ»¸ö±È½Ï΢ÃîµÄµØ ......