ÒýÑÔ
¡¡¡¡Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚCÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øÑ§Éú½²½â£º"Êý×éÃû¾ÍÊÇÖ¸Õë"¡£ºÜÐÒÔË£¬ÎҵĴóѧÀÏʦ¾ÍÊÇÆäÖÐÖ®Ò»¡£Ê±ÖÁ½ñÈÕ£¬ÎÒÈÕ¸´Ò»ÈյؽøÐÐ×ÅC/C++ÏîÄ¿µÄ¿ª·¢£¬¶øÉí±ß»¹Ò»Ö±³äÂúÕâÑùµÄ³ÌÐòÔ±£¬ËûÃDZ£Áô×Å"Êý×éÃû¾ÍÊÇÖ¸Õë"µÄÎó½â¡£
¡¡¡¡Ïë±ØÕâÖÖÎó½âµÄ¸ùÔ´ÔÚÓÚ¹úÄÚijָÃûµÄC³ÌÐòÉè¼Æ½Ì³Ì¡£Èç¹ûÕâÆªÎÄÕÂÄܹ»¾ÀÕýÐí¶àÖйú³ÌÐòÔ±¶ÔÊý×éÃûºÍÖ¸ÕëµÄÎó½â£¬±ÊÕ߾Ͳ»ÉõÐÀοÁË¡£½è´ËÎÄ£¬±ÊÕßÕ¾ÔÚÎÞÊý¶Ô֪ʶÈç¼¢ËÆ¿ÊµÄÖйú³ÌÐòÔ±Ö®ÖУ¬ÉîÉî¼ÄÏ£ÍûÓÚ¹úÄڵļÆËã»úͼÊé±àдÕßÃÇ£¬ÄÜÒÔ"ÉîÈë̽Ë÷"µÄ˼ά·½Ê½ºÍ¾«ÒæÇ󾫵ÄÈÏÕæÌ¬¶ÈÀ´¶Ô´ýͼÊé±àд¹¤×÷£¬µ«Ô¸ÊÐÃæÉ϶àһЩÈÚÈë×÷Õß˼¿¼½á¾§µÄÐÄѪ֮×÷£¡
¡¡¡¡Ä§»ÃÊý×éÃû
¡¡¡¡Çë¿´³ÌÐò£¨±¾ÎijÌÐòÔÚWIN32ƽ̨ϱàÒ룩£º
1. #include <iostream.h>
2. int main(int argc, char* argv[])
3. {
4. ¡¡char str[10];
5. ¡¡char *pStr = str;
6. ¡¡cout << sizeof(str) << endl;
7. ¡¡cout << sizeof(pStr) << endl;
8. ¡¡return 0;
9. }
¡¡¡¡1¡¢Êý×é ......
ÒýÑÔ
¡¡¡¡Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚCÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øÑ§Éú½²½â£º"Êý×éÃû¾ÍÊÇÖ¸Õë"¡£ºÜÐÒÔË£¬ÎҵĴóѧÀÏʦ¾ÍÊÇÆäÖÐÖ®Ò»¡£Ê±ÖÁ½ñÈÕ£¬ÎÒÈÕ¸´Ò»ÈյؽøÐÐ×ÅC/C++ÏîÄ¿µÄ¿ª·¢£¬¶øÉí±ß»¹Ò»Ö±³äÂúÕâÑùµÄ³ÌÐòÔ±£¬ËûÃDZ£Áô×Å"Êý×éÃû¾ÍÊÇÖ¸Õë"µÄÎó½â¡£
¡¡¡¡Ïë±ØÕâÖÖÎó½âµÄ¸ùÔ´ÔÚÓÚ¹úÄÚijָÃûµÄC³ÌÐòÉè¼Æ½Ì³Ì¡£Èç¹ûÕâÆªÎÄÕÂÄܹ»¾ÀÕýÐí¶àÖйú³ÌÐòÔ±¶ÔÊý×éÃûºÍÖ¸ÕëµÄÎó½â£¬±ÊÕ߾Ͳ»ÉõÐÀοÁË¡£½è´ËÎÄ£¬±ÊÕßÕ¾ÔÚÎÞÊý¶Ô֪ʶÈç¼¢ËÆ¿ÊµÄÖйú³ÌÐòÔ±Ö®ÖУ¬ÉîÉî¼ÄÏ£ÍûÓÚ¹úÄڵļÆËã»úͼÊé±àдÕßÃÇ£¬ÄÜÒÔ"ÉîÈë̽Ë÷"µÄ˼ά·½Ê½ºÍ¾«ÒæÇ󾫵ÄÈÏÕæÌ¬¶ÈÀ´¶Ô´ýͼÊé±àд¹¤×÷£¬µ«Ô¸ÊÐÃæÉ϶àһЩÈÚÈë×÷Õß˼¿¼½á¾§µÄÐÄѪ֮×÷£¡
¡¡¡¡Ä§»ÃÊý×éÃû
¡¡¡¡Çë¿´³ÌÐò£¨±¾ÎijÌÐòÔÚWIN32ƽ̨ϱàÒ룩£º
1. #include <iostream.h>
2. int main(int argc, char* argv[])
3. {
4. ¡¡char str[10];
5. ¡¡char *pStr = str;
6. ¡¡cout << sizeof(str) << endl;
7. ¡¡cout << sizeof(pStr) << endl;
8. ¡¡return 0;
9. }
¡¡¡¡1¡¢Êý×é ......
---- ÔÚÊý¾Ý¿âµÄÓ¦Óÿª·¢ÖУ¬³£³£»áÓöµ½ÐÔÄܺʹú¼ÛµÄÖ®¼äì¶Ü¡£ÒÔ×÷ÕßÔÚ¿ª·¢¹ÉÊÐÐÐ
Çé²éѯºÍ½»Ò×ϵͳÖÐÓöµ½µÄÎÊÌâΪÀý£¬ÒªÔÚʵʱ¼Ç¼1000¶àÖ»¹ÉƱÿ·ÖÖÓ¸üÐÂÒ»´ÎµÄÐÐ
ÇéÊý¾ÝµÄͬʱ£¬ÏìÓ¦´óÁ¿²¢·¢Óû§µÄÊý¾Ý²éѯÇëÇ󡣿¼Âǵ½ÐԼ۱ȺÍÒ×ά»¤ÐÔ£¬ÏµÍ³ÓÖ
ÒªÇóÔÚ»ùÓÚPC·þÎñÆ÷£¬Windows NTƽ̨µÄÈíÓ²¼þ»·¾³ÏÂʵÏÖ¡£¿ªÊ¼£¬ÎÒÃDzÉÓÃÁËMS SQL
Server 6.5 ×÷ΪÊý¾Ý¿âϵͳ£¬ÓÃVisual C++ 6.0¿ª·¢ÁË·ÃÎÊÊý¾Ý¿âµÄǰ¶Ë£¬Ó¦ÓÃODBC
Êý¾Ý½Ó¿Ú£¬ÔÚ½øÐÐÁË´óÁ¿µÄÊý¾Ý¿âÅäÖúͳÌÐòÓÅ»¯ºó£¬·¢ÏÖÈÔ²»ÄÜÂú×ãÐÔÄÜÒªÇ󡣺ó²É
ÓÃSQL ServerµÄDB-Library½Ó¿Ú£¬ÈƹýÁËODBC½âÊͲ㣬¿ÉÒÔÿÃë¸üÐÂÐÐÇéÊý¾Ý30´Î£¬Í¬
ʱ֧³Ö20£30¸ö×óÓҵIJ¢·¢Óû§½øÐÐÐÐÇé²éѯ£¬»ù±¾Âú×ãÒªÇ󣨵¥Ì¨PC·þÎñÆ÷£¬µ¥PII3
50 CPU£¬ÄÚ´æ128M£¬SCSIÓ²ÅÌ£©¡£ÓÐûÓпÉÄܽøÒ»²½Ìá¸ßϵͳµÄÐÔÄܺ͸ºÔØÄÜÁ¦ÄØ£¿¾
¹ý·ÖÎö£¬Êý¾Ý¿â·þÎñÆ÷ÊÇϵͳµÄÆ¿¾±¡£µ±È»£¬¿ÉÒÔ²ÉÓÃUNIX·þÎñÆ÷£«´óÐÍÊý¾Ý¿âµÄϵͳ
ƽ̨£¬µ«Æä¿ª·¢¡¢ÔËÐС¢Î¬»¤µÄ·ÑÓñÈ΢»ú£«Windows NTƽ̨µÄ·ÑÓø߳öÊý±¶¡£ÎÒÃÇÔÚ
ÆäËüһЩϵͳµÄ¿ª·¢ÖУ¬Ò²¾³£Óöµ½ÕâÑùµÄì¶Ü¡£ÈçºÎÔÚ΢»úƽ̨ÉϽ¨Á¢´óÈÝÁ¿¡¢¸ßЧ
ÂÊ¡¢Ò×ά»¤¡¢¸ßÐԼ۱ȵÄÊý¾Ý¿âÏµÍ³ÄØ£¿
---- ¿¼ ......
---- ÔÚÊý¾Ý¿âµÄÓ¦Óÿª·¢ÖУ¬³£³£»áÓöµ½ÐÔÄܺʹú¼ÛµÄÖ®¼äì¶Ü¡£ÒÔ×÷ÕßÔÚ¿ª·¢¹ÉÊÐÐÐ
Çé²éѯºÍ½»Ò×ϵͳÖÐÓöµ½µÄÎÊÌâΪÀý£¬ÒªÔÚʵʱ¼Ç¼1000¶àÖ»¹ÉƱÿ·ÖÖÓ¸üÐÂÒ»´ÎµÄÐÐ
ÇéÊý¾ÝµÄͬʱ£¬ÏìÓ¦´óÁ¿²¢·¢Óû§µÄÊý¾Ý²éѯÇëÇ󡣿¼Âǵ½ÐԼ۱ȺÍÒ×ά»¤ÐÔ£¬ÏµÍ³ÓÖ
ÒªÇóÔÚ»ùÓÚPC·þÎñÆ÷£¬Windows NTƽ̨µÄÈíÓ²¼þ»·¾³ÏÂʵÏÖ¡£¿ªÊ¼£¬ÎÒÃDzÉÓÃÁËMS SQL
Server 6.5 ×÷ΪÊý¾Ý¿âϵͳ£¬ÓÃVisual C++ 6.0¿ª·¢ÁË·ÃÎÊÊý¾Ý¿âµÄǰ¶Ë£¬Ó¦ÓÃODBC
Êý¾Ý½Ó¿Ú£¬ÔÚ½øÐÐÁË´óÁ¿µÄÊý¾Ý¿âÅäÖúͳÌÐòÓÅ»¯ºó£¬·¢ÏÖÈÔ²»ÄÜÂú×ãÐÔÄÜÒªÇ󡣺ó²É
ÓÃSQL ServerµÄDB-Library½Ó¿Ú£¬ÈƹýÁËODBC½âÊͲ㣬¿ÉÒÔÿÃë¸üÐÂÐÐÇéÊý¾Ý30´Î£¬Í¬
ʱ֧³Ö20£30¸ö×óÓҵIJ¢·¢Óû§½øÐÐÐÐÇé²éѯ£¬»ù±¾Âú×ãÒªÇ󣨵¥Ì¨PC·þÎñÆ÷£¬µ¥PII3
50 CPU£¬ÄÚ´æ128M£¬SCSIÓ²ÅÌ£©¡£ÓÐûÓпÉÄܽøÒ»²½Ìá¸ßϵͳµÄÐÔÄܺ͸ºÔØÄÜÁ¦ÄØ£¿¾
¹ý·ÖÎö£¬Êý¾Ý¿â·þÎñÆ÷ÊÇϵͳµÄÆ¿¾±¡£µ±È»£¬¿ÉÒÔ²ÉÓÃUNIX·þÎñÆ÷£«´óÐÍÊý¾Ý¿âµÄϵͳ
ƽ̨£¬µ«Æä¿ª·¢¡¢ÔËÐС¢Î¬»¤µÄ·ÑÓñÈ΢»ú£«Windows NTƽ̨µÄ·ÑÓø߳öÊý±¶¡£ÎÒÃÇÔÚ
ÆäËüһЩϵͳµÄ¿ª·¢ÖУ¬Ò²¾³£Óöµ½ÕâÑùµÄì¶Ü¡£ÈçºÎÔÚ΢»úƽ̨ÉϽ¨Á¢´óÈÝÁ¿¡¢¸ßЧ
ÂÊ¡¢Ò×ά»¤¡¢¸ßÐԼ۱ȵÄÊý¾Ý¿âÏµÍ³ÄØ£¿
---- ¿¼ ......
---- ÔÚÊý¾Ý¿âµÄÓ¦Óÿª·¢ÖУ¬³£³£»áÓöµ½ÐÔÄܺʹú¼ÛµÄÖ®¼äì¶Ü¡£ÒÔ×÷ÕßÔÚ¿ª·¢¹ÉÊÐÐÐ
Çé²éѯºÍ½»Ò×ϵͳÖÐÓöµ½µÄÎÊÌâΪÀý£¬ÒªÔÚʵʱ¼Ç¼1000¶àÖ»¹ÉƱÿ·ÖÖÓ¸üÐÂÒ»´ÎµÄÐÐ
ÇéÊý¾ÝµÄͬʱ£¬ÏìÓ¦´óÁ¿²¢·¢Óû§µÄÊý¾Ý²éѯÇëÇ󡣿¼Âǵ½ÐԼ۱ȺÍÒ×ά»¤ÐÔ£¬ÏµÍ³ÓÖ
ÒªÇóÔÚ»ùÓÚPC·þÎñÆ÷£¬Windows NTƽ̨µÄÈíÓ²¼þ»·¾³ÏÂʵÏÖ¡£¿ªÊ¼£¬ÎÒÃDzÉÓÃÁËMS SQL
Server 6.5 ×÷ΪÊý¾Ý¿âϵͳ£¬ÓÃVisual C++ 6.0¿ª·¢ÁË·ÃÎÊÊý¾Ý¿âµÄǰ¶Ë£¬Ó¦ÓÃODBC
Êý¾Ý½Ó¿Ú£¬ÔÚ½øÐÐÁË´óÁ¿µÄÊý¾Ý¿âÅäÖúͳÌÐòÓÅ»¯ºó£¬·¢ÏÖÈÔ²»ÄÜÂú×ãÐÔÄÜÒªÇ󡣺ó²É
ÓÃSQL ServerµÄDB-Library½Ó¿Ú£¬ÈƹýÁËODBC½âÊͲ㣬¿ÉÒÔÿÃë¸üÐÂÐÐÇéÊý¾Ý30´Î£¬Í¬
ʱ֧³Ö20£30¸ö×óÓҵIJ¢·¢Óû§½øÐÐÐÐÇé²éѯ£¬»ù±¾Âú×ãÒªÇ󣨵¥Ì¨PC·þÎñÆ÷£¬µ¥PII3
50 CPU£¬ÄÚ´æ128M£¬SCSIÓ²ÅÌ£©¡£ÓÐûÓпÉÄܽøÒ»²½Ìá¸ßϵͳµÄÐÔÄܺ͸ºÔØÄÜÁ¦ÄØ£¿¾
¹ý·ÖÎö£¬Êý¾Ý¿â·þÎñÆ÷ÊÇϵͳµÄÆ¿¾±¡£µ±È»£¬¿ÉÒÔ²ÉÓÃUNIX·þÎñÆ÷£«´óÐÍÊý¾Ý¿âµÄϵͳ
ƽ̨£¬µ«Æä¿ª·¢¡¢ÔËÐС¢Î¬»¤µÄ·ÑÓñÈ΢»ú£«Windows NTƽ̨µÄ·ÑÓø߳öÊý±¶¡£ÎÒÃÇÔÚ
ÆäËüһЩϵͳµÄ¿ª·¢ÖУ¬Ò²¾³£Óöµ½ÕâÑùµÄì¶Ü¡£ÈçºÎÔÚ΢»úƽ̨ÉϽ¨Á¢´óÈÝÁ¿¡¢¸ßЧ
ÂÊ¡¢Ò×ά»¤¡¢¸ßÐԼ۱ȵÄÊý¾Ý¿âÏµÍ³ÄØ£¿
---- ¿¼ ......
ÊÔÌâ1£º
Code
Void test1()
{
char string[10];
char* str1="0123456789";
strcpy(string, str1);
}
ÊÔÌâ2£º
Code
Void test2()
{
char string[10], str1[10];
for(I=0; I<10;I++)
{
str1[i] ='a';
}
strcpy(string, str1);
}
ÊÔÌâ3£º
Code
Void test3(char* str1)
{
char string[10];
if(strlen(str1) <= 10)
{
strcpy(string, str1);
}
}
½â´ð£º
test1: ×Ö·û´®str1ÐèÒª11¸ö×Ö½Ú²ÅÄÜ´æ·ÅÏÂ(°üÀ¨Ä©Î²µÄ'\0')£¬¶østringÖ»ÓÐ10¸ö×ֽڵĿռ䣬strcpy»áµ¼ÖÂÊý×éÔ½½ç
test2: Èç¹ûÃæÊÔÕßÖ¸³ö×Ö·ûÊý×éstr1²»ÄÜÔÚÊý×éÄÚ½áÊø¿ÉÒÔ¸ø3·Ö£»Èç¹ûÃæÊÔÕß ......
ÊÔÌâ1£º
Code
Void test1()
{
char string[10];
char* str1="0123456789";
strcpy(string, str1);
}
ÊÔÌâ2£º
Code
Void test2()
{
char string[10], str1[10];
for(I=0; I<10;I++)
{
str1[i] ='a';
}
strcpy(string, str1);
}
ÊÔÌâ3£º
Code
Void test3(char* str1)
{
char string[10];
if(strlen(str1) <= 10)
{
strcpy(string, str1);
}
}
½â´ð£º
test1: ×Ö·û´®str1ÐèÒª11¸ö×Ö½Ú²ÅÄÜ´æ·ÅÏÂ(°üÀ¨Ä©Î²µÄ'\0')£¬¶østringÖ»ÓÐ10¸ö×ֽڵĿռ䣬strcpy»áµ¼ÖÂÊý×éÔ½½ç
test2: Èç¹ûÃæÊÔÕßÖ¸³ö×Ö·ûÊý×éstr1²»ÄÜÔÚÊý×éÄÚ½áÊø¿ÉÒÔ¸ø3·Ö£»Èç¹ûÃæÊÔÕß ......
ÖÚ¶àC++Êé¼®¶¼ÖÒ¸æÎÒÃÇCÓïÑÔºêÊÇÍò¶ñÖ®Ê×£¬µ«ÊÂÇé×ܲ»ÈçÎÒÃÇÏëÏóµÄÄÇô»µ£¬¾ÍÈçͬgotoÒ»Ñù¡£ºêÓÐ
Ò»¸öºÜ´óµÄ×÷Ó㬾ÍÊÇ×Ô¶¯ÎªÎÒÃDzúÉú´úÂë¡£Èç¹û˵ģ°å¿ÉÒÔΪÎÒÃDzúÉú¸÷ÖÖÐͱðµÄ´úÂë(ÐͱðÌæ»»)£¬
ÄÇôºêÆäʵ¿ÉÒÔΪÎÒÃÇÔÚ·ûºÅÉϲúÉúеĴúÂë(¼´·ûºÅÌæ»»¡¢Ôö¼Ó)¡£
¹ØÓÚºêµÄһЩÓï·¨ÎÊÌ⣬¿ÉÒÔÔÚgoogleÉÏÕÒµ½¡£ÏàÐÅÎÒ£¬Äã¶ÔÓÚºêµÄÁË½â¾ø¶ÔûÄãÏëÏóµÄÄÇô¶à¡£Èç¹ûÄã
»¹²»ÖªµÀ#ºÍ##£¬Ò²²»ÖªµÀprescan£¬ÄÇôÄã¿Ï¶¨¶ÔºêµÄÁ˽ⲻ¹»¡£
ÎÒÉÔ΢½²½âϺêµÄһЩÓï·¨ÎÊÌâ(˵Óï·¨ÎÊÌâËÆºõ²»Í×£¬macroÖ»ÓëpreprocessorÓйأ¬¸úÓïÒå·ÖÎöÓÖÎÞ¹Ø)£º
1. ºê¿ÉÒÔÏñº¯ÊýÒ»Ñù±»¶¨Ò壬ÀýÈ磺
#define min(x,y) (x µ«ÊÇÔÚʵ¼ÊʹÓÃʱ£¬Ö»Óе±Ð´ÉÏmin()£¬±ØÐë¼ÓÀ¨ºÅ£¬min²Å»á±»×÷ΪºêÕ¹¿ª£¬·ñÔò²»×öÈκδ¦Àí¡£
2. Èç¹ûºêÐèÒª²ÎÊý£¬Äã¿ÉÒÔ²»´«£¬±àÒëÆ÷»á¸øÄ㾯¸æ(ºê²ÎÊý²»¹»)£¬µ«ÊÇÕâ»áµ¼Ö´íÎó¡£ÈçC++Êé¼®ÖÐËùÃè
ÊöµÄ£¬±àÒëÆ÷(Ô¤´¦ÀíÆ÷)¶ÔºêµÄÓï·¨¼ì²é²»¹»£¬ËùÒÔ¸ü¶àµÄ¼ì²éÐÔ¹¤×÷µÃÄã×Ô¼ºÀ´×ö¡£
3. ºÜ¶à³ÌÐòÔ±²»ÖªµÀµÄ#ºÍ##
#·ûºÅ°ÑÒ»¸ö·ûºÅÖ±½Óת»»Îª×Ö·û´®£¬ÀýÈ磺
#define STRING(x) #x
const char *str = STRING( test_string ); strµÄÄÚÈݾÍÊÇ"test_string"£¬Ò²¾ÍÊÇ˵#»á°ÑÆäºóµÄ·ûºÅ
Ö ......
ÖÚ¶àC++Êé¼®¶¼ÖÒ¸æÎÒÃÇCÓïÑÔºêÊÇÍò¶ñÖ®Ê×£¬µ«ÊÂÇé×ܲ»ÈçÎÒÃÇÏëÏóµÄÄÇô»µ£¬¾ÍÈçͬgotoÒ»Ñù¡£ºêÓÐ
Ò»¸öºÜ´óµÄ×÷Ó㬾ÍÊÇ×Ô¶¯ÎªÎÒÃDzúÉú´úÂë¡£Èç¹û˵ģ°å¿ÉÒÔΪÎÒÃDzúÉú¸÷ÖÖÐͱðµÄ´úÂë(ÐͱðÌæ»»)£¬
ÄÇôºêÆäʵ¿ÉÒÔΪÎÒÃÇÔÚ·ûºÅÉϲúÉúеĴúÂë(¼´·ûºÅÌæ»»¡¢Ôö¼Ó)¡£
¹ØÓÚºêµÄһЩÓï·¨ÎÊÌ⣬¿ÉÒÔÔÚgoogleÉÏÕÒµ½¡£ÏàÐÅÎÒ£¬Äã¶ÔÓÚºêµÄÁË½â¾ø¶ÔûÄãÏëÏóµÄÄÇô¶à¡£Èç¹ûÄã
»¹²»ÖªµÀ#ºÍ##£¬Ò²²»ÖªµÀprescan£¬ÄÇôÄã¿Ï¶¨¶ÔºêµÄÁ˽ⲻ¹»¡£
ÎÒÉÔ΢½²½âϺêµÄһЩÓï·¨ÎÊÌâ(˵Óï·¨ÎÊÌâËÆºõ²»Í×£¬macroÖ»ÓëpreprocessorÓйأ¬¸úÓïÒå·ÖÎöÓÖÎÞ¹Ø)£º
1. ºê¿ÉÒÔÏñº¯ÊýÒ»Ñù±»¶¨Ò壬ÀýÈ磺
#define min(x,y) (x µ«ÊÇÔÚʵ¼ÊʹÓÃʱ£¬Ö»Óе±Ð´ÉÏmin()£¬±ØÐë¼ÓÀ¨ºÅ£¬min²Å»á±»×÷ΪºêÕ¹¿ª£¬·ñÔò²»×öÈκδ¦Àí¡£
2. Èç¹ûºêÐèÒª²ÎÊý£¬Äã¿ÉÒÔ²»´«£¬±àÒëÆ÷»á¸øÄ㾯¸æ(ºê²ÎÊý²»¹»)£¬µ«ÊÇÕâ»áµ¼Ö´íÎó¡£ÈçC++Êé¼®ÖÐËùÃè
ÊöµÄ£¬±àÒëÆ÷(Ô¤´¦ÀíÆ÷)¶ÔºêµÄÓï·¨¼ì²é²»¹»£¬ËùÒÔ¸ü¶àµÄ¼ì²éÐÔ¹¤×÷µÃÄã×Ô¼ºÀ´×ö¡£
3. ºÜ¶à³ÌÐòÔ±²»ÖªµÀµÄ#ºÍ##
#·ûºÅ°ÑÒ»¸ö·ûºÅÖ±½Óת»»Îª×Ö·û´®£¬ÀýÈ磺
#define STRING(x) #x
const char *str = STRING( test_string ); strµÄÄÚÈݾÍÊÇ"test_string"£¬Ò²¾ÍÊÇ˵#»á°ÑÆäºóµÄ·ûºÅ
Ö ......
ÒýÑÔ
¡¡¡¡Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚCÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øÑ§Éú½²½â£º"Êý×éÃû¾ÍÊÇÖ¸Õë"¡£ºÜÐÒÔË£¬ÎҵĴóѧÀÏʦ¾ÍÊÇÆäÖÐÖ®Ò»¡£Ê±ÖÁ½ñÈÕ£¬ÎÒÈÕ¸´Ò»ÈյؽøÐÐ×ÅC/C++ÏîÄ¿µÄ¿ª·¢£¬¶øÉí±ß»¹Ò»Ö±³äÂúÕâÑùµÄ³ÌÐòÔ±£¬ËûÃDZ£Áô×Å"Êý×éÃû¾ÍÊÇÖ¸Õë"µÄÎó½â¡£
¡¡¡¡Ïë±ØÕâÖÖÎó½âµÄ¸ùÔ´ÔÚÓÚ¹úÄÚijָÃûµÄC³ÌÐòÉè¼Æ½Ì³Ì¡£Èç¹ûÕâÆªÎÄÕÂÄܹ»¾ÀÕýÐí¶àÖйú³ÌÐòÔ±¶ÔÊý×éÃûºÍÖ¸ÕëµÄÎó½â£¬±ÊÕ߾Ͳ»ÉõÐÀοÁË¡£½è´ËÎÄ£¬±ÊÕßÕ¾ÔÚÎÞÊý¶Ô֪ʶÈç¼¢ËÆ¿ÊµÄÖйú³ÌÐòÔ±Ö®ÖУ¬ÉîÉî¼ÄÏ£ÍûÓÚ¹úÄڵļÆËã»úͼÊé±àдÕßÃÇ£¬ÄÜÒÔ"ÉîÈë̽Ë÷"µÄ˼ά·½Ê½ºÍ¾«ÒæÇ󾫵ÄÈÏÕæÌ¬¶ÈÀ´¶Ô´ýͼÊé±àд¹¤×÷£¬µ«Ô¸ÊÐÃæÉ϶àһЩÈÚÈë×÷Õß˼¿¼½á¾§µÄÐÄѪ֮×÷£¡
¡¡¡¡Ä§»ÃÊý×éÃû
¡¡¡¡Çë¿´³ÌÐò£¨±¾ÎijÌÐòÔÚWIN32ƽ̨ϱàÒ룩£º
1. #include <iostream.h>
2. int main(int argc, char* argv[])
3. {
4. ¡¡char str[10];
5. ¡¡char *pStr = str;
6. ¡¡cout << sizeof(str) << endl;
7. ¡¡cout << sizeof(pStr) << endl;
8. ¡¡return 0;
9. }
¡¡¡¡1¡¢Êý×é ......
ÒýÑÔ
¡¡¡¡Ö¸ÕëÊÇC/C++ÓïÑÔµÄÌØÉ«£¬¶øÊý×éÃûÓëÖ¸ÕëÓÐÌ«¶àµÄÏàËÆ£¬ÉõÖÁºÜ¶àʱºò£¬Êý×éÃû¿ÉÒÔ×÷ΪָÕëʹÓá£ÓÚÊǺõ£¬ºÜ¶à³ÌÐòÉè¼ÆÕ߾ͱ»¸ãºýÍ¿ÁË¡£¶øÐí¶àµÄ´óѧÀÏʦ£¬ËûÃÇÔÚCÓïÑԵĽÌѧ¹ý³ÌÖÐÒ²´íÎóµÃ¸øÑ§Éú½²½â£º"Êý×éÃû¾ÍÊÇÖ¸Õë"¡£ºÜÐÒÔË£¬ÎҵĴóѧÀÏʦ¾ÍÊÇÆäÖÐÖ®Ò»¡£Ê±ÖÁ½ñÈÕ£¬ÎÒÈÕ¸´Ò»ÈյؽøÐÐ×ÅC/C++ÏîÄ¿µÄ¿ª·¢£¬¶øÉí±ß»¹Ò»Ö±³äÂúÕâÑùµÄ³ÌÐòÔ±£¬ËûÃDZ£Áô×Å"Êý×éÃû¾ÍÊÇÖ¸Õë"µÄÎó½â¡£
¡¡¡¡Ïë±ØÕâÖÖÎó½âµÄ¸ùÔ´ÔÚÓÚ¹úÄÚijָÃûµÄC³ÌÐòÉè¼Æ½Ì³Ì¡£Èç¹ûÕâÆªÎÄÕÂÄܹ»¾ÀÕýÐí¶àÖйú³ÌÐòÔ±¶ÔÊý×éÃûºÍÖ¸ÕëµÄÎó½â£¬±ÊÕ߾Ͳ»ÉõÐÀοÁË¡£½è´ËÎÄ£¬±ÊÕßÕ¾ÔÚÎÞÊý¶Ô֪ʶÈç¼¢ËÆ¿ÊµÄÖйú³ÌÐòÔ±Ö®ÖУ¬ÉîÉî¼ÄÏ£ÍûÓÚ¹úÄڵļÆËã»úͼÊé±àдÕßÃÇ£¬ÄÜÒÔ"ÉîÈë̽Ë÷"µÄ˼ά·½Ê½ºÍ¾«ÒæÇ󾫵ÄÈÏÕæÌ¬¶ÈÀ´¶Ô´ýͼÊé±àд¹¤×÷£¬µ«Ô¸ÊÐÃæÉ϶àһЩÈÚÈë×÷Õß˼¿¼½á¾§µÄÐÄѪ֮×÷£¡
¡¡¡¡Ä§»ÃÊý×éÃû
¡¡¡¡Çë¿´³ÌÐò£¨±¾ÎijÌÐòÔÚWIN32ƽ̨ϱàÒ룩£º
1. #include <iostream.h>
2. int main(int argc, char* argv[])
3. {
4. ¡¡char str[10];
5. ¡¡char *pStr = str;
6. ¡¡cout << sizeof(str) << endl;
7. ¡¡cout << sizeof(pStr) << endl;
8. ¡¡return 0;
9. }
¡¡¡¡1¡¢Êý×é ......
QT
http://www.trolltech.com
http://www.qiliang.net/qt.html
QtÊÇTrolltech¹«Ë¾µÄÒ»¸ö¶àƽ̨µÄC++ͼÐÎÓû§½çÃæÓ¦ÓóÌÐò¿ò¼Ü¡£ËüÌṩ¸øÓ¦ÓóÌÐò¿ª·¢Õß½¨Á¢ÒÕÊõ¼¶µÄͼÐÎÓû§½çÃæËùÐèµÄËùÓù¦ÄÜ¡£QtÊÇÍêÈ«ÃæÏò¶ÔÏóµÄºÜÈÝÒ×À©Õ¹£¬²¢ÇÒÔÊÐíÕæÕýµØ×é¼þ±à³Ì¡£×Ô´Ó1996ÄêÔçЩʱºò£¬Qt½øÈëÉÌÒµÁìÓò£¬ËüÒѾ³ÉΪȫÊÀ½ç·¶Î§ÄÚÊýǧÖֳɹ¦µÄÓ¦ÓóÌÐòµÄ»ù´¡¡£QtÒ²ÊÇÁ÷ÐеÄLinux×ÀÃæ»·¾³KDEµÄ»ù´¡£¬Í¬Ê±Ëü»¹Ö§³ÖWindows¡¢Macintosh¡¢Unix/X11µÈ¶àÖÖÆ½Ì¨¡£
GTK
http://gtkmm.sourceforge.net/
GTKÊÇÒ»¸ö´óÃû¶¦¶¦µÄCµÄ¿ªÔ´GUI¿â¡£ÔÚLinuxÊÀ½çÖÐÓÐGnomeÕâÑùµÄɱÊÖÓ¦Ó᣶øGTK¾ÍÊÇÕâ¸ö¿âµÄC++·â×°°æ±¾¡£
WxWidgets
http://www.wxwindows.org
http://sourceforge.net/projects/wxwindows
http://i18n.linux.net.cn/others/wxWindowstut/wxTutorial.html
http://www.wxwidgets.cn/
¿çƽ̨µÄGUI¿â¡£ÒòΪÆäÀà²ã´Î¼«ÏñMFC£¬ËùÒÔÓÐÎÄÕ½éÉÜ´ÓMFCµ½WxWidgetsµÄ´úÂëÒÆÖ²ÒÔʵÏÖ¿çÆ½Ì¨µÄ¹¦ÄÜ¡£Í¨¹ý¶àÄêµÄ¿ª·¢Ò²ÊÇÒ»¸öÈÕÇ÷ÍêÉÆµÄGUI¿â£¬Ö§³ÖͬÑù²»ÈõÓÚÇ°ÃæÁ½¸ö¿â¡£²¢ÇÒÊÇÍêÈ«¿ª·ÅÔ´´úÂëµÄ¡£Ð½üµÄC++
Builder XµÄGUIÉè¼ÆÆ÷¾ÍÊÇ»ùÓÚÕâ¸ö¿âµÄ¡£
MFC
´óÃû¶¦¶¦µÄ΢Èí»ù´¡Àà¿â£¨Microso ......
QT
http://www.trolltech.com
http://www.qiliang.net/qt.html
QtÊÇTrolltech¹«Ë¾µÄÒ»¸ö¶àƽ̨µÄC++ͼÐÎÓû§½çÃæÓ¦ÓóÌÐò¿ò¼Ü¡£ËüÌṩ¸øÓ¦ÓóÌÐò¿ª·¢Õß½¨Á¢ÒÕÊõ¼¶µÄͼÐÎÓû§½çÃæËùÐèµÄËùÓù¦ÄÜ¡£QtÊÇÍêÈ«ÃæÏò¶ÔÏóµÄºÜÈÝÒ×À©Õ¹£¬²¢ÇÒÔÊÐíÕæÕýµØ×é¼þ±à³Ì¡£×Ô´Ó1996ÄêÔçЩʱºò£¬Qt½øÈëÉÌÒµÁìÓò£¬ËüÒѾ³ÉΪȫÊÀ½ç·¶Î§ÄÚÊýǧÖֳɹ¦µÄÓ¦ÓóÌÐòµÄ»ù´¡¡£QtÒ²ÊÇÁ÷ÐеÄLinux×ÀÃæ»·¾³KDEµÄ»ù´¡£¬Í¬Ê±Ëü»¹Ö§³ÖWindows¡¢Macintosh¡¢Unix/X11µÈ¶àÖÖÆ½Ì¨¡£
GTK
http://gtkmm.sourceforge.net/
GTKÊÇÒ»¸ö´óÃû¶¦¶¦µÄCµÄ¿ªÔ´GUI¿â¡£ÔÚLinuxÊÀ½çÖÐÓÐGnomeÕâÑùµÄɱÊÖÓ¦Ó᣶øGTK¾ÍÊÇÕâ¸ö¿âµÄC++·â×°°æ±¾¡£
WxWidgets
http://www.wxwindows.org
http://sourceforge.net/projects/wxwindows
http://i18n.linux.net.cn/others/wxWindowstut/wxTutorial.html
http://www.wxwidgets.cn/
¿çƽ̨µÄGUI¿â¡£ÒòΪÆäÀà²ã´Î¼«ÏñMFC£¬ËùÒÔÓÐÎÄÕ½éÉÜ´ÓMFCµ½WxWidgetsµÄ´úÂëÒÆÖ²ÒÔʵÏÖ¿çÆ½Ì¨µÄ¹¦ÄÜ¡£Í¨¹ý¶àÄêµÄ¿ª·¢Ò²ÊÇÒ»¸öÈÕÇ÷ÍêÉÆµÄGUI¿â£¬Ö§³ÖͬÑù²»ÈõÓÚÇ°ÃæÁ½¸ö¿â¡£²¢ÇÒÊÇÍêÈ«¿ª·ÅÔ´´úÂëµÄ¡£Ð½üµÄC++
Builder XµÄGUIÉè¼ÆÆ÷¾ÍÊÇ»ùÓÚÕâ¸ö¿âµÄ¡£
MFC
´óÃû¶¦¶¦µÄ΢Èí»ù´¡Àà¿â£¨Microso ......