¸ßÖÊÁ¿C++/C±à³ÌÖ¸ÄÏ ÄÚ´æ¹ÜÀí
µÚ7Õ ÄÚ´æ¹ÜÀí
»¶Ó½øÈëÄÚ´æÕâÆ¬À×Çø¡£Î°´óµÄBill Gates Ôø¾Ê§ÑÔ£º
640K ought to be enough for everybody
— Bill Gates 1981
³ÌÐòÔ±ÃǾ³£±àдÄÚ´æ¹ÜÀí³ÌÐò£¬ÍùÍùÌáÐĵõµ¨¡£Èç¹û²»Ïë´¥À×£¬Î¨Ò»µÄ½â¾ö°ì·¨¾ÍÊÇ·¢ÏÖËùÓÐDZ·üµÄµØÀײ¢ÇÒÅųýËüÃÇ£¬¶ãÊǶ㲻Á˵ġ£±¾ÕµÄÄÚÈݱÈÒ»°ã½Ì¿ÆÊéµÄÒªÉîÈëµÃ¶à£¬¶ÁÕßÐèϸÐÄÔĶÁ£¬×öµ½ÕæÕýµØÍ¨ÏþÄÚ´æ¹ÜÀí¡£
7.1ÄÚ´æ·ÖÅ䷽ʽ
ÄÚ´æ·ÖÅ䷽ʽÓÐÈýÖÖ£º
£¨1£© ´Ó¾²Ì¬´æ´¢ÇøÓò·ÖÅä¡£ÄÚ´æÔÚ³ÌÐò±àÒëµÄʱºò¾ÍÒѾ·ÖÅäºÃ£¬Õâ¿éÄÚ´æÔÚ³ÌÐòµÄÕû¸öÔËÐÐÆÚ¼ä¶¼´æÔÚ¡£ÀýÈçÈ«¾Ö±äÁ¿£¬static±äÁ¿¡£
£¨2£© ÔÚÕ»ÉÏ´´½¨¡£ÔÚÖ´Ðк¯Êýʱ£¬º¯ÊýÄÚ¾Ö²¿±äÁ¿µÄ´æ´¢µ¥Ôª¶¼¿ÉÒÔÔÚÕ»ÉÏ´´½¨£¬º¯ÊýÖ´ÐнáÊøÊ±ÕâЩ´æ´¢µ¥Ôª×Ô¶¯±»ÊÍ·Å¡£Õ»ÄÚ´æ·ÖÅäÔËËãÄÚÖÃÓÚ´¦ÀíÆ÷µÄÖ¸ÁÖУ¬Ð§Âʺܸߣ¬µ«ÊÇ·ÖÅäµÄÄÚ´æÈÝÁ¿ÓÐÏÞ¡£
£¨3£© ´Ó¶ÑÉÏ·ÖÅ䣬Òà³Æ¶¯Ì¬ÄÚ´æ·ÖÅä¡£³ÌÐòÔÚÔËÐеÄʱºòÓÃmalloc»ònewÉêÇëÈÎÒâ¶àÉÙµÄÄڴ棬³ÌÐòÔ±×Ô¼º¸ºÔðÔÚºÎʱÓÃfree»òdeleteÊÍ·ÅÄÚ´æ¡£¶¯Ì¬ÄÚ´æµÄÉú´æÆÚÓÉÎÒÃǾö¶¨£¬Ê¹Ó÷dz£Áé»î£¬µ«ÎÊÌâÒ²×î¶à¡£
7.2³£¼ûµÄÄÚ´æ´íÎó¼°Æä¶Ô²ß
·¢ÉúÄÚ´æ´íÎóÊǼþ·Ç³£Âé·³µÄÊÂÇé¡£±àÒëÆ÷²»ÄÜ×Ô¶¯·¢ÏÖÕâЩ´íÎó£¬Í¨³£ÊÇÔÚ³ÌÐòÔËÐÐʱ²ÅÄܲ¶×½µ½¡£¶øÕâЩ´íÎó´ó¶àûÓÐÃ÷ÏÔµÄÖ¢×´£¬Ê±ÒþʱÏÖ£¬Ôö¼ÓÁ˸ĴíµÄÄѶȡ£ÓÐʱÓû§ÅÆø³å³åµØ°ÑÄãÕÒÀ´£¬³ÌÐòȴûÓз¢ÉúÈκÎÎÊÌ⣬ÄãÒ»×ߣ¬´íÎóÓÖ·¢×÷ÁË¡£
³£¼ûµÄÄÚ´æ´íÎó¼°Æä¶Ô²ßÈçÏ£º
u ÄÚ´æ·ÖÅäδ³É¹¦£¬È´Ê¹ÓÃÁËËü¡£
±à³ÌÐÂÊÖ³£·¸ÕâÖÖ´íÎó£¬ÒòΪËûÃÇûÓÐÒâʶµ½ÄÚ´æ·ÖÅä»á²»³É¹¦¡£³£Óýâ¾ö°ì·¨ÊÇ£¬ÔÚʹÓÃÄÚ´æÖ®Ç°¼ì²éÖ¸ÕëÊÇ·ñΪNULL¡£Èç¹ûÖ¸ÕëpÊǺ¯ÊýµÄ²ÎÊý£¬ÄÇôÔÚº¯ÊýµÄÈë¿Ú´¦ÓÃassert(p!=NULL)½øÐмì²é¡£Èç¹ûÊÇÓÃmalloc»ònewÀ´ÉêÇëÄڴ棬Ӧ¸ÃÓÃif(p==NULL) »òif(p!=NULL)½øÐзÀ´í´¦Àí¡£
u ÄÚ´æ·ÖÅäËäÈ»³É¹¦£¬µ«ÊÇÉÐδ³õʼ»¯¾ÍÒýÓÃËü¡£
·¸ÕâÖÖ´íÎóÖ÷ÒªÓÐÁ½¸öÆðÒò£ºÒ»ÊÇûÓгõʼ»¯µÄ¹ÛÄ¶þÊÇÎóÒÔΪÄÚ´æµÄȱʡ³õֵȫΪÁ㣬µ¼ÖÂÒýÓóõÖµ´íÎó£¨ÀýÈçÊý×飩¡£
ÄÚ´æµÄȱʡ³õÖµ¾¿¾¹ÊÇʲô²¢Ã»ÓÐͳһµÄ±ê×¼£¬¾¡¹ÜÓÐЩʱºòΪÁãÖµ£¬ÎÒÃÇÄþ¿ÉÐÅÆäÎÞ²»¿ÉÐÅÆäÓС£ËùÒÔÎÞÂÛÓúÎÖÖ·½Ê½´´½¨Êý×飬¶¼±ðÍüÁ˸³³õÖµ£¬¼´±ãÊǸ³ÁãÖµÒ²²»¿ÉÊ¡ÂÔ£¬²»ÒªÏÓÂé·³¡£
u ÄÚ´æ·ÖÅä³É¹¦²¢ÇÒÒѾ³õʼ»¯£¬µ«²Ù×÷Ô½¹ýÁËÄÚ´æµÄ±ß½ç¡£
ÀýÈçÔÚʹÓÃÊý×éʱ¾³£·¢Éúϱꓶà1”»òÕß“ÉÙ1”µÄ²Ù×÷¡£ÌرðÊÇÔÚforÑ»·Óï¾äÖУ¬Ñ»·´ÎÊýºÜÈÝÒ׸ã´í£¬µ¼ÖÂÊý×é²Ù×÷Ô½½ç¡£
u Íü¼ÇÁËÊÍ·ÅÄڴ棬Ôì³ÉÄÚ´æÐ¹Â¶¡£
º¬ÓÐÕâÖÖ´
Ïà¹ØÎĵµ£º
´óѧÒѾÀ´µ½ÁË×îÖØÒªµÄʱÆÚÁË£¬ÎÒ²»ÄÜÔÙÒ»ÊÂÎÞ³ÉÁË¡£¹â˵ûÓã¬ËùÒÔ¾ÍÔÚÕâÀïдÏÂÎÄÕ£¬ÒԼǼÎҵijɳ¤Àú³Ì¡£
ÕâѧÆÚ¸ÕºÃѧµ½Êý¾Ý½á¹¹£¬ÄǾͽ«ÌâÄ¿·ÖÎöµÄ¹ý³Ì¼°´úÂëдÏÂÀ´£¬¹©ÒÔºó×Ô¼ºÈ¡Éá¡£Òò±¾ÈËˮƽһ°ã£¬ËùÒÔ´úÂë²¢²»Ò»¶¨ÊÇ×îÓŵ쬵«ÊÇÎÒ»áŬÁ¦¸Ä½ø£¬×ö×îºÃµÄ×Ô¼º£¡ ......
C/C++º¯Êýµ÷ÓÃÔ¼¶¨ºÍº¯ÊýÃû³ÆÐÞÊιæÔò̽ÌÖ
×÷ÕߣºÐǹ죨oRbIt£©
ʹÓÃC/C++ÓïÑÔ¿ª·¢Èí¼þµÄ³ÌÐòÔ±¾³£Åöµ½ÕâÑùµÄÎÊÌ⣺ÓÐʱºòÊdzÌÐò±àÒëûÓÐÎÊÌ⣬µ«ÊÇÁ´½ÓµÄʱºò×ÜÊDZ¨¸æº¯Êý²»´æÔÚ£¨¾µäµÄLNK
2001´íÎ󣩣¬ÓÐʱºòÊdzÌÐò±àÒëºÍÁ´½Ó¶¼Ã»ÓдíÎ󣬵«ÊÇÖ»Òªµ÷ÓÿâÖеĺ¯Êý¾Í»á³öÏÖ¶ÑÕ»Òì³£¡£ÕâЩÏÖÏóͨ³£ÊdzöÏÖÔÚCºÍC ......
ÐÞ¸Ämakefile£¬ÔÚLIBSÀïÃæ¼ÓÉÏ-lmemcached£¬±ÈÈçÔÀ´ gcc test.c£¬ÏÖÔÚ gcc test.c -lmemcached¡£Õâ¸ö¿â¾ÍÊÇlibmemcachedÌṩµÄ¡£
È»ºóÌí¼Ó#include<libmemcached/memcached.h>£¬Õâ¸öÎļþÒ²ÊÇlibmemcachedÌṩµÄ¡£
Ö÷º¯ÊýÀïÃæÐèÒªÌí¼Ó£º
memcached_st *memc;
uint32_t&nbs ......
cÖ¸ÕëµÄÔËËãÓÐʱºò»¹ÊǺÜÃÔ»óÈ˵ġ£
ÀýÈ磺
struct student {
int num;
int score;
int length;
};
struct student *pt;
pt = (struct student *) malloc(sizeof(struct student));
pt->num = 1;
pt->score = 90;
pt->length = 3 * sizeof(int);
printf("pt length:%d\n", *pt);
pt = (int ......
ÎÊÌâÃèÊö£ºÐ´Ò»¸öº¯Êý£¬½ÓÊÜÒ»¸öÕûÊý£¨¼Ù¶¨ÓÃint±íʾ£©£¬Êä³ö¸ÃÕûÊýµÄ×Ö·û´®ÐÎʽ¡£²ÉÓÃÈçϺ¯ÊýÔÐÍ£º
void itoa ( int val, buf* );
ÕâÀï¼Ù¶¨buf×ã¹»´óÒÔÈÝÄÉÈκÎintÀàÐÍÊýÖµµÄ×Ö·û´®¡£
Õâ¸öÎÊÌ⣬³õ¿´ºÃÏñûÓÐʲôÄѶȡ£Èç¹ûÊÇ0£¬¾ÍÖ±½ÓÊä³ö'0'£»Èç¹ûÊÇÕýÊý£¬¾Íͨ¹ýȡģ(%)ºÍÇóÉÌ(/)ÔËËã¿ÉÒÔÖðλȡµÃ¸ÃÕûÊýµÄÊý×Ö£¬²¢° ......