dz̸C/C++ÄÚ´æÐ¹Â©¼°Æä¼ì²â¹¤¾ß
¡¡¡¡¶ÔÓÚÒ»¸öc/c++³ÌÐòÔ±À´Ëµ£¬ÄÚ´æÐ¹Â©ÊÇÒ»¸ö³£¼ûµÄÒ²ÊÇÁîÈËÍ·ÌÛµÄÎÊÌâ¡£ÒѾÓÐÐí¶à¼¼Êõ±»Ñо¿³öÀ´ÒÔÓ¦¶ÔÕâ¸öÎÊÌ⣬±ÈÈçSmart Pointer£¬Garbage CollectionµÈ¡£Smart Pointer¼¼Êõ±È½Ï³ÉÊ죬STLÖÐÒѾ°üº¬Ö§³ÖSmart PointerµÄclass£¬µ«ÊÇËüµÄʹÓÃËÆºõ²¢²»¹ã·º£¬¶øÇÒËüÒ²²»Äܽâ¾öËùÓеÄÎÊÌ⣻Garbage Collection¼¼ÊõÔÚJavaÖÐÒѾ±È½Ï³ÉÊ죬µ«ÊÇÔÚc/c++ÁìÓòµÄ·¢Õ¹²¢²»Ë³³©£¬ËäÈ»ºÜÔç¾ÍÓÐÈË˼¿¼ÔÚC++ÖÐÒ²¼ÓÈëGCµÄÖ§³Ö¡£ÏÖʵÊÀ½ç¾ÍÊÇÕâÑùµÄ£¬×÷Ϊһ¸öc/c++³ÌÐòÔ±£¬ÄÚ´æÐ¹Â©ÊÇÄãÐÄÖÐÓÀÔ¶µÄÍ´¡£²»¹ýºÃÔÚÏÖÔÚÓÐÐí¶à¹¤¾ßÄܹ»°ïÖúÎÒÃÇÑéÖ¤ÄÚ´æÐ¹Â©µÄ´æÔÚ£¬ÕÒ³ö·¢ÉúÎÊÌâµÄ´úÂë¡£
¡¡¡¡ÄÚ´æÐ¹Â©µÄ¶¨Òå
¡¡¡¡Ò»°ãÎÒÃdz£ËµµÄÄÚ´æÐ¹Â©ÊÇÖ¸¶ÑÄÚ´æµÄй©¡£¶ÑÄÚ´æÊÇÖ¸³ÌÐò´Ó¶ÑÖзÖÅäµÄ£¬´óСÈÎÒâµÄ£¨ÄÚ´æ¿éµÄ´óС¿ÉÒÔÔÚ³ÌÐòÔËÐÐÆÚ¾ö¶¨£©£¬Ê¹ÓÃÍêºó±ØÐëÏÔʾÊͷŵÄÄÚ´æ¡£Ó¦ÓóÌÐòÒ»°ãʹÓÃmalloc£¬realloc£¬newµÈº¯Êý´Ó¶ÑÖзÖÅäµ½Ò»¿éÄڴ棬ʹÓÃÍêºó£¬³ÌÐò±ØÐ븺ÔðÏàÓ¦µÄµ÷ÓÃfree»òdeleteÊͷŸÃÄÚ´æ¿é£¬·ñÔò£¬Õâ¿éÄÚ´æ¾Í²»Äܱ»ÔÙ´ÎʹÓã¬ÎÒÃǾÍ˵Õâ¿éÄÚ´æÐ¹Â©ÁË¡£ÒÔÏÂÕâ¶ÎС³ÌÐòÑÝʾÁ˶ÑÄÚ´æ·¢Éúй©µÄÇéÐΣº
void MyFunction(int nSize)
{
¡¡char* p= new char[nSize];
¡¡if( !GetStringfrom( p, nSize ) ){
¡¡¡¡MessageBox(“Error”);
¡¡¡¡return;
¡¡}
¡¡…//using the string pointed by p;
¡¡delete p;
}
¡¡¡¡ÀýÒ»
¡¡¡¡µ±º¯ÊýGetStringfrom()·µ»ØÁãµÄʱºò£¬Ö¸ÕëpÖ¸ÏòµÄÄÚ´æ¾Í²»»á±»ÊÍ·Å¡£ÕâÊÇÒ»ÖÖ³£¼ûµÄ·¢ÉúÄÚ´æÐ¹Â©µÄÇéÐΡ£³ÌÐòÔÚÈë¿Ú´¦·ÖÅäÄڴ棬ÔÚ³ö¿Ú´¦ÊÍ·ÅÄڴ棬µ«ÊÇcº¯Êý¿ÉÒÔÔÚÈκεط½Í˳ö£¬ËùÒÔÒ»µ©ÓÐij¸ö³ö¿Ú´¦Ã»ÓÐÊÍ·ÅÓ¦¸ÃÊͷŵÄÄڴ棬¾Í»á·¢ÉúÄÚ´æÐ¹Â©¡£
¡¡¡¡¹ãÒåµÄ˵£¬ÄÚ´æÐ¹Â©²»½ö½ö°üº¬¶ÑÄÚ´æµÄй©£¬»¹°üº¬ÏµÍ³×ÊÔ´µÄй©(resource leak)£¬±ÈÈçºËÐÄ̬HANDLE£¬GDI Object£¬SOCKET£¬ InterfaceµÈ£¬´Ó¸ù±¾ÉÏ˵ÕâЩÓɲÙ×÷ϵͳ·ÖÅäµÄ¶ÔÏóÒ²ÏûºÄÄڴ棬Èç¹ûÕâЩ¶ÔÏó·¢Éúй©×îÖÕÒ²»áµ¼ÖÂÄÚ´æµÄй©¡£¶øÇÒ£¬Ä³Ð©¶ÔÏóÏûºÄµÄÊǺËÐÄ̬Äڴ棬ÕâЩ¶ÔÏóÑÏÖØÐ¹Â©Ê±»áµ¼ÖÂÕû¸ö²Ù×÷ϵͳ²»Îȶ¨¡£ËùÒÔÏà±È֮ϣ¬ÏµÍ³×ÊÔ´µÄй©±È¶ÑÄÚ´æµÄй©¸üΪÑÏÖØ¡£
¡¡¡¡GDI ObjectµÄй©ÊÇÒ»ÖÖ³£¼ûµÄ×ÊԴй©£º
void CMyView::OnPaint( CDC* pDC )
{
¡¡CBitmap bmp;
¡¡CBitmap* pOldBmp;
¡¡bmp.LoadBitmap(IDB_MYBMP);
¡¡pOldBmp = pDC->SelectObject( &bmp );
¡¡…
¡¡if( Something() ){
¡¡¡¡return;
¡¡}
¡¡pDC->SelectOb
Ïà¹ØÎĵµ£º
C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâÐ©ÍøÕ¾Ìṩc/c++Ô´´úÂë¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶ÓÄúµÄ½¨Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½ÃæµÄÇåµ¥¡£
1¡¢http://snippets.dzone.com/tag/c/ --ÊýÒÔǧ¼Æ ......
²âÊÔ´úÂëÒ»£¨VC6.0¡¢C-code£©£º
#include <stdio.h>
void main()
{
int aa;
unsigned char j1,j2;
aa=j1=j2=0;
aa=49;
j1=aa;
printf("j1=%d \n",j1);
j2=aa;
printf("j2=%c \n",j2);
}
¡¾·ÖÎö¡¿£º
[1]ÕýÈçËùÏëÏóµÄÊä³ö½á¹û£º
j1 ......
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx
++;
x = x&(x-1);
}
return countx;
}
¼Ù¶¨x = 9999¡£ ´ð°¸£º8
˼·£º½«xת»¯Îª2½øÖÆ£¬¿´º¬ÓеÄ1µÄ¸öÊý¡£
2. ʲôÊÇ“ÒýÓÔ£¿ÉêÃ÷ºÍʹÓÓÒýÓÔҪעÒâÄÄЩÎÊÌ⣿
´ð£ºÒýÓþÍÊÇij¸öÄ¿±ê±äÁ¿µÄ&l ......
.¸ÅÂÛ
¡¡¡¡ÔËÐÐʱ¿âÊdzÌÐòÔÚÔËÐÐʱËùÐèÒªµÄ¿âÎļþ£¬Í¨³£ÔËÐÐʱ¿âÊÇÒÔLIB»òDLLÐÎʽÌṩµÄ¡£
CÔËÐÐʱ¿âµ®ÉúÓÚ20ÊÀ¼Í70Äê´ú£¬µ±Ê±µÄ³ÌÐòÊÀ½ç»¹ºÜµ¥´¿£¬Ó¦ÓóÌÐò¶¼Êǵ¥Ï̵߳쬶àÈÎÎñ»ò¶àÏ̻߳úÖÆÔÚ´Ëʱ»¹ÊôÓÚйÛÄî¡£ËùÒÔÕâ¸öʱÆÚµÄCÔËÐÐʱ¿â¶¼Êǵ¥Ï̵߳ġ£
¡¡¡¡Ëæ×ŲÙ×÷ϵͳ¶àÏ̼߳¼ÊõµÄ·¢Õ¹£¬×î³õµÄCÔ ......
GPIO£¨General Purpose Input/OutputµÄËõд£©¾ÍÊÇоƬµÄÒý½Å£¬Òý½ÅÊǿɱà³ÌµÄ¿É¶ÔÒý½ÅµÄ¹¤×÷ģʽ½øÐÐÉèÖãºÊäÈëģʽ(¼ì²âÊäÈëÐźÅ)£¬Êä³öģʽ(Êä³ö0»ò1)£¬¸ß×è״̬(³£ÓÃÓÚADת»»)£¬»¹ÓнûÖ¹»òÔÊÐíÉÏÄÚ²¿ÏÂÀµç×è(ÉÏÀ£º¹Ü½Åͨ¹ýµç×è½Ó¸ßµçƽ£¬ÏÂÀ£º¹Ü½Åͨ¹ýµç×è½ÓµØ£¬Ò²¿ÉÒÔÍⲿ½ÓÉÏÀ»òÏÂÀµç×è)£¬»¹ÓйܽŸ´Óõȹ¦ÄÜ£¬ ......