Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

C/C++ ºêÏê½â

http://demonstyle.blog.163.com/blog/static/13143429020091010112159/
C/C++ ºêÏê½â
ic/c++ 2009-11-10 01:12:15 ÔĶÁ18 ÆÀÂÛ0 ×ֺţº´óÖÐС
ÖÚ¶à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"£¬Ò²¾ÍÊÇ˵#»á°ÑÆäºóµÄ·ûºÅ
Ö±½Ó¼ÓÉÏË«ÒýºÅ¡£
##·ûºÅ»áÁ¬½ÓÁ½¸ö·ûºÅ£¬´Ó¶ø²úÉúеķûºÅ(´Ê·¨²ã´Î)£¬ÀýÈ磺
#define SIGN( x ) INT_##x
int SIGN( 1 ); ºê±»Õ¹¿ªºó½«³ÉΪ£ºint INT_1;
4. ±ä²Îºê£¬Õâ¸ö±È½Ï¿á£¬ËüʹµÃÄã¿ÉÒÔ¶¨ÒåÀàËÆµÄºê£º
#define LOG( format, ... ) printf( format, __VA_ARGS__ )
LOG( "%s %d", str, count );
__VA_ARGS__ÊÇϵͳԤ¶¨Òåºê£¬±»×Ô¶¯Ì滻Ϊ²ÎÊýÁÐ±í¡£
5. µ±Ò»¸öºê×Ô¼ºµ÷ÓÃ×Ô¼ºÊ±£¬»á·¢Éúʲô£¿ÀýÈ磺
#define TEST( x ) ( x + TEST( x ) )
TEST( 1 ); »á·¢Éúʲô£¿ÎªÁË·ÀÖ¹ÎÞÏÞÖÆµÝ¹éÕ¹¿ª£¬Óï·¨¹æ¶¨£¬µ±Ò»¸öºêÓöµ½×Ô¼ºÊ±£¬¾ÍÍ£Ö¹Õ¹¿ª£¬Ò²¾ÍÊÇ
˵£¬µ±¶ÔTEST( 1 )½øÐÐÕ¹¿ªÊ±£¬Õ¹¿ª¹ý³ÌÖÐÓÖ·¢ÏÖÁËÒ»¸öTEST£¬ÄÇô¾Í½«Õâ¸öTESTµ±×÷Ò»°ãµÄ·ûºÅ¡£TEST(1)
×îÖÕ±»Õ¹¿ªÎª£º1 + TEST( 1) ¡£
6. ºê²ÎÊýµÄprescan£¬
µ±Ò»¸öºê²ÎÊý±»·Å½øºêÌåʱ£¬Õâ¸öºê²ÎÊý»áÊ×Ïȱ»È«²¿Õ¹¿ª(ÓÐÀýÍ⣬¼ûÏÂÎÄ)¡£µ±Õ¹¿ªºóµÄºê²ÎÊý±»·Å½øºêÌåʱ£¬
Ô¤´¦ÀíÆ÷¶ÔÐÂÕ¹¿ªµÄºêÌå½øÐеڶþ´ÎɨÃ裬²¢¼ÌÐøÕ¹¿ª¡£ÀýÈ磺
#define PARAM( x ) x
#define ADD


Ïà¹ØÎĵµ£º

ת]C,C++¾­µäÎÊÌ⣬¼°ÃæÊÔ±ÊÊÔÌâ


1       ±à³Ì»ù´¡
1.1    »ù±¾¸ÅÄî
1.         µÄÀí½â£ºconst char*, char const*, char*constµÄÇø±ðÎÊÌ⼸ºõÊÇC++ÃæÊÔÖÐÿ´Î    ¶¼»áÓеÄÌâÄ¿¡£ ÊÂʵÉÏÕâ¸ö¸ÅÄîË­¶¼ÓÐÖ»ÊÇÈýÖÖÉùÃ÷·½Ê½·Ç³£ÏàËÆºÜÈÝÒ׼ǻ졣 Bja ......

VCÖбàÒëÓÐCÔ´ÎļþµÄ³ÌÐò

×î½üÔÚ×ö³ÌÐòʱÐèҪʹÓÃÒ»¸öÒѾ­±àºÃµÄC³ÌÐòÔ´Îļþ£¨ÓÐÍ·Îļþ£©£¬½«Í·Îļþ¼ÓÈëÒªµ÷ÓõÄÔ´ÎļþÖУ¬µ÷ÓÃÏàÓ¦Cº¯Êý£¬±àÒëʱ³öÏÖÈçÏ´íÎó£º
sss.c(3129) : fatal error C1010: unexpected end of file while looking for precompiled header directive
ÔÚÍøÉϲéÁËÏà¹Ø×ÊÁÏ£¬Ëµ²»ÄÜÔÚCÔ´ÎļþÖаüº¬"stdafx.h"Îļþ£¬
ÖªµÀÐèÒªÒ ......

Tricky C questions



ÒÔÏÂÊǼ¸¸ö¼¬ÊÖµÄ
C ÎÊÌâ, ºÜÄÑ×ö, ¿´¿´×Ô¼º»á×ö¼¸¸ö?
How do you write a program which produces its own source code as its output?
How can I find the day of the week given the date?
Why doesn’t C have nested functions?
What is the most efficient way to count the num ......

(ת£©Ñ§Ï°c/c++µÄ50¸öºÃÍøÕ¾

C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâÐ©ÍøÕ¾Ìṩc/c++Ô´´úÂë¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶Ó­ÄúµÄ½¨Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½ÃæµÄÇåµ¥¡£
1¡¢http://snippets.dzone.com/tag/c/ --ÊýÒÔǧ¼Æ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ