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
Ïà¹ØÎĵµ£º
/*
* test.cpp
*
* Created on: 2010-5-13
* Author: Sarah
*/
#include "/usr/include/mysql/mysql.h" /*Ϊ¾ø¶Ô·¾¶*/
#include <stdio.h>
#include <stdlib.h>
#i ......
.¸ÅÂÛ
¡¡¡¡ÔËÐÐʱ¿âÊdzÌÐòÔÚÔËÐÐʱËùÐèÒªµÄ¿âÎļþ£¬Í¨³£ÔËÐÐʱ¿âÊÇÒÔLIB»òDLLÐÎʽÌṩµÄ¡£
CÔËÐÐʱ¿âµ®ÉúÓÚ20ÊÀ¼Í70Äê´ú£¬µ±Ê±µÄ³ÌÐòÊÀ½ç»¹ºÜµ¥´¿£¬Ó¦ÓóÌÐò¶¼Êǵ¥Ï̵߳쬶àÈÎÎñ»ò¶àÏ̻߳úÖÆÔÚ´Ëʱ»¹ÊôÓÚйÛÄî¡£ËùÒÔÕâ¸öʱÆÚµÄCÔËÐÐʱ¿â¶¼Êǵ¥Ï̵߳ġ£
¡¡¡¡Ëæ×ŲÙ×÷ϵͳ¶àÏ̼߳¼ÊõµÄ·¢Õ¹£¬×î³õµÄCÔ ......
ÈÕÖ¾¼Ç¼ÁËÕýʽִÐвâÊÔ֮ǰµÄÕû¸ö¹¤×÷¹ý³Ì£¨ÒÔʧ°Ü¾ÑéΪÖ÷£©£¬ÆäÖаüÀ¨£º²âÊÔ·½°¸µÄÖÆ¶¨£¬·½°¸µÄ¿ÉÖ´ÐÐÐÔÑéÖ¤£¬ÒÔ¼°·½°¸Ö´ÐÐʧ°ÜºóµÄÐÞ¸ÄÓëÍêÉÆ¡£´Ë´Î¹¤×÷Ϊ“ÐÔÄܲâÊÔ”·¶³ë£¬Õâ¸ö·½ÏòÒ²ÊÇÎҵļ¼Êõ¶Ì°åÖ®Ò»¡£Ì¹°×µÄ½²£¬ÒÔÎÒ¸öÈ˵ÄÄÜÁ¦¼¸ºõ²»ÄÜ×öµ½£¬Ö®ËùÒÔ½â¾ö·½°¸Äܹ»Í¨¹ý£¬ÔÚ´ËÖ÷Òª¸Ðл¿ª·¢Í¬ÊµÄÈ«Á¦Ö§³ÖºÍ ......
ÈçºÎ½»»»Á½¸ö±äÁ¿µÄÖµ£º
CÓïÑÔÖеĴ«Öµ´úÂëÈçÏ£º
int change(int x,int y)
{
int temp=x;
x=y;
y=temp;
}
CÓïÑÔÖеĴ«Ö·´úÂëÈçÏ£º
int change(int *p,int *q)
{
int temp=*p;
*p=*q;
*q=temp;
}
ʹÓÃC++ÖеÄÒýÓÃÀàÐÍ´úÂëÈçÏÂ:
int change(int &x,int &y)
{
int temp=x;
x=y;
y=temp;
}
JAV ......