Ï¡·¹¶¥¿Í×ÛºÏÉçÇø
Ê×Ò³
|
×îÈȰæ¿é
|
»îÔ¾»áÔ±
|
±¾ÖÜÈȵã
·µ»Ø
CBuilder
¹ØÓÚÖ¸ÕëºÍÄÚ´æµÄ¼¸¸öÎÊÌâ[×ªÔØ]
·¢ÌùÈË:
pspice
·¢±íʱ¼ä:2003Äê06ÔÂ11ÈÕ15:43:13 ÐÇÆÚÈý
Ò»¡¢"delete p" »áɾȥ "p" Ö¸Õ룬»¹ÊÇËüÖ¸µ½µÄ×ÊÁÏ£¬"*p" £¿
¸ÃÖ¸ÕëÖ¸µ½µÄ×ÊÁÏ¡£"delete" ÕæÕýµÄÒâ˼ÊÇ£º¡¸É¾È¥Ö¸ÕëÖ¸µ½µÄ¶«Î÷¡¹£¨delete
the thing pointed to by£©¡£Í¬ÑùµÄÓ¢ÎÄÎóÓÃÒ²·¢ÉúÔÚ C ÓïÑԵġ¸ÊÍ·Å¡¹Ö¸±êËùÖ¸Ïò
µÄ¼ÇÒäÌ壨"free(p)"ÕæÕýµÄÒâ˼ÊÇ£º"free_the_stuff_pointed_to_by(p)" £©¡£
¶þ¡¢ÄÜ "free()" µôÓÉ "new" ÅäÖõ½µÄ¡¢"delete" µôÓÉ "malloc()" ÅäÖõ½µÄ¼ÇÒäÌå
Âð£¿
²»ÐС£ÔÚͬһ¸ö³ÌʽÀʹÓà malloc/free ¼° new/delete ÊÇÍêÈ«ºÏ·¨¡¢ºÏÀí¡¢°²
È«µÄ£»µ« free µôÓÉ new ÅäÖõ½µÄ£¬»ò delete µôÓÉ malloc ÅäÖõ½µÄÖ¸±êÔòÊDz»ºÏ·¨
¡¢²»ºÏÀíµÄ¡£
Èý¡¢ÎªÊ²÷á¸ÃÓà "new" ¶ø²»ÊÇ malloc() £¿
½¨¹¹×Ó£¯½â¹¹×Ó¡¢Ðͱð°²È«ÐÔ¡¢¿É±»¸²¸Ç£¨overridability£©¡£½¨¹¹×Ó£¯½â¹¹×Ó£º
ºÍ "malloc(sizeof(Fred))" ²»Í¬£¬"new Fred()" »¹»áÈ¥ºô½ÐFred µÄ½¨¹¹×Ó¡£Í¬Àí£¬"
delete p" »áÈ¥ºô½Ð "*p" µÄ½â¹¹×Ó¡£
Ðͱð°²È«ÐÔ£ºmalloc() »á´«»ØÒ»¸ö²»¾ßÐͱð°²È«µÄ "void*"£¬¶ø "new Fred()" Ôò
»á´«»ØÕýÈ·ÐÍ̬µÄÖ¸±ê£¨Ò»¸ö "Fred*"£©¡£
¿É±»¸²¸Ç£º"new" ÊǸö¿É±»Îï¼þÀà±ð¸²¸ÇµÄÔËËã×Ó£¬¶ø "malloc" ²»ÊÇÒÔ¡¸¸÷¸öÀà
±ð¡¹×÷Ϊ¸²¸ÇµÄ»ù×¼¡£
ËÄ¡¢ÎªÊ²÷á C++ ²»Ìæ "new" ¼° "delete" ´îÅä¸ö "realloc()" £¿
±ÜÃâÄã²úÉúÒâÍâ¡£µ± realloc() Òª¿½±´ÅäÖÃÇøÊ±£¬Ëü×öµÄÊÇ¡¸ÖðλԪ bitwise¡¹µÄ
¿½±´£¬Õâ»áŪ»µ´ó
²¿·ÝµÄ C++ Îï¼þ¡£²»¹ý C++ µÄÎï¼þÓ¦¸Ã¿ÉÒÔ×ÔÎÒ¿½±´²Å¶Ô£ºÓÃËüÃÇ×Ô¼ºµÄ¿½±´½¨¹¹×Ó
»òÉ趨ÔËËã×Ó¡£
Îå¡¢¸ÃÔõÑùÅäÖã¯ÊÍ·ÅÕóÁУ¿
Óà new[] ºÍ delete[] £º
Fred* p = new Fred[100];
//...
delete [] p;
ÿµ±ÄãÔÚ "new" ÔËËãʽÖÐÓÃÁË "[...]" µÄ»°£¬Äã¾Í *!*±ØÐë*!* ÔÚ "delete" ³Â
ÊöÖÐʹÓà "[]" ¡£ÕâÓï·¨ÊDZØÒªµÄ£¬ÒòΪ¡¸Ö¸Ïòµ¥Ò»ÔªËصÄÖ¸±ê¡¹Ó롸ָÏòÒ»¸öÕóÁеÄ
Ö¸±ê¡¹ÔÚÓï·¨Éϲ¢ÎÞ·¨Çø·Ö¿ªÀ´¡£
Áù¡¢ÍòÒ»ÎÒÍüÁ˽« "[]" ÓÃÔÚ "delete" ÓÉ "new Fred[n]" ÅäÖõ½µÄÕóÁУ¬»á·¢Éúʲ÷á
Ê£¿
ÔÖÄÑ¡£ÕâÊdzÌʽÕߵ죶ø²»ÊDZàÒëÆ÷µÄ££ÔðÈΣ¬È¥È·±£ new[] Óë delete[] µÄ
ÕýÈ·Åä¶Ô¡£ÈôÄãŪ´íÁË£¬±àÒëÆ÷²»»á²úÉúÈκαàÒëÆÚ»òÖ´ÐÐÆÚµÄ´íÎóѶϢ¡£¶Ñ»ý£¨heap
£©±»ÆÆ»µÊÇ×î¿ÉÄܵĽá¾Ö£¬»òÊǸüÔãµÄ£¬ÄãµÄ³Ìʽ»áµ±µô¡£
Æß¡¢³ÉÔ±º¯Êý×ö "delete this" µÄ¶¯×÷ÊǺϷ¨µÄ£¨²¢ÇÒÊǺõģ©Âð£¿
Ö»ÒªÄãСÐĵϰ¾ÍûÊ¡£ËùνµÄ¡¸Ð¡ÐÄ¡¹ÊÇ£º
1) ÄãµÃ 100% È·¶¨ "this" ÊÇÓÉ "new" ÅäÖÃÀ´µÄ£¨¶ø·Ç "new[]"£¬Òà·Ç×Ô¶©µÄ
"new" °æ±¾£¬Ò»¶¨ÒªÊÇ×îÔʼµÄ "new"£©¡£
2) ÄãµÃ 100% È·¶¨¸Ã³ÉÔ±º¯ÊýÊÇ´ËÎï¼þ×îááÒ»¸ö»áÈ¥ºô½ÐµÄ¡£
3) ×öÍê×ÔɱµÄ¶¯×÷ ("delete this;") áᣬÄã²»ÄÜÔÙÈ¥Åö "this" µÄÎï¼þÁË£¬°üÀ¨×ÊÁÏ
¼°ÔË×÷ÐÐΪÔÚÄÚ¡£
4) ×öÍê×ÔɱµÄ¶¯×÷ ("delete this;") áᣬÄã²»ÄÜÔÙÈ¥Åö "this" Ö¸±êÁË¡£»»¾ä»°Ëµ£¬
Äã²»Äܲ鿴Ëü¡¢½«ËüÓëÆäËûÖ¸±ê»òÊÇ NULL Ïà±È½Ï¡¢Ó¡³öÆäÖµ¡¢¶ÔËüתÐÍ¡¢¶ÔËü×öÈκÎ
ÊÂÇé¡£
ºÜ×ÔÈ»µÄ£¬ÕâÏ¸æÒ²ÊÊÓÃì¶£ºµ± "this" ÊǸöÖ¸Ïò»ùµ×Àà±ðµÄÖ¸±ê£¬¶ø½â¹¹×Ó²»
ÊÇvirtual µÄ³¡ºÏ¡£
°Ë¡¢¸ÃÔõ÷áÓà new À´ÅäÖöàάÕóÁУ¿
Óкܶ෽·¨£¬¶ËÊÓÄã¶ÔÕóÁдóСµÄÉìËõÐÔÖ®ÒªÇó¶ø¶¨¡£¼«¶ËÒ»µãµÄÇéÐΣ¬Èç¹ûÄãÔÚ
±àÒëÆÚ¾ÍÖªµÀËùÓÐÕóÁеÄά¶È£¬Äã¿ÉÒÔ¾²Ì¬µØÅäÖ㨾ÍÏñ C Ò»Ñù£©£º
class Fred { /*...*/ };
void manipulateArray()
{
Fred matrix[10][20];
//ʹÓà matrix[i][j]...
//²»ÐëÌØµØÈ¥ÊͷŸÃÕóÁÐ
}
ÁíÒ»¸ö¼«¶ËÇé¿ö£¬Èç¹ûÄãÏ£Íû¸Ã¾ØÕóµÄÿ¸öС¿é¶¼Äܲ»Ò»Ñù´ó£¬Äã¿ÉÒÔÔÚ×ÔÓɼÇÒä
ÌåÀïÅäÖÃÖ®£º
void manipulateArray(unsigned nrows, unsigned ncols[])
// nrows ÊǸÃÕóÁÐÖ®ÁÐÊý¡£
//ËùÒԺϷ¨µÄÁÐÊýΪ (0, nrows-1) ¿ªÇø¼ä¡£
// ncols[r] ÔòÊÇ r ÁеÄÐÐÊý ( r ÖµÓòΪ [0..nrows-1])¡£
{
Fred** matrix = new Fred*[nrows];
for (unsigned r = 0; r < nrows; ++r)
matrix[r] = new Fred[ ncols[r] ];
//ʹÓà matrix[i][j]...
//ÊͷžÍÊÇÅäÖõķ´¶¯×÷£º
for (r = nrows; r > 0; --r)
delete [] matrix[r-1];
delete [] matrix;
}
¾Å¡¢ÔõÑùÈ·±£Ä³Àà±ðµÄÎï¼þ¶¼ÊÇÓà "new" ½¨Á¢µÄ£¬¶ø·ÇÇøÓò»òÕûÌ壯¾²Ì¬±äÊý£¿
È·¶¨¸ÃÀà±ðµÄ½¨¹¹×Ó¶¼ÊÇ "private:" µÄ£¬²¢¶¨Òå¸ö "friend" »ò "static" º¯Êý
£¬À´´«»ØÒ»¸öÖ¸ÏòÓÉ "new" ½¨Ôì³öÀ´µÄÎï¼þ£¨°Ñ½¨¹¹×ÓÉè³É "protected:"£¬Èç¹ûÄãÏë
ÒªÓÐÑÜÉúÀà±ðµÄ»°£©¡£
class Fred { //Ö»ÔÊÐí Fred ¶¯Ì¬ÅäÖóöÀ´
public:
static Fred* create() { return new Fred(); }
static Fred* create(int i) { return new Fred(i); }
static Fred* create(const Fred& fred) { return new Fred(fred); }
private:
Fred();
Fred(int i);
Fred(const Fred& fred);
virtual ~Fred();
};
main()
{
Fred* p = Fred::create(5);
...
delete p;
}
Ïà¹ØÖ÷Ìâ:
¡ñ
½¿½¿Ñà Å® 19Ëê Õ÷ÓÑ(3ÕÕÆ¬)
¡ñ
¹ØÓÚWinExecº¯Êý
¡ñ
ÇëÎÊC++ºÍvC++,C++ builderÓÖÊ²Ã´Çø±ðÂð£¿
¡ñ
Borland´«Ææ£¨°Ë£©
¡ñ
Borland´«ÆæÁùÕÂ
¡ñ
BCBÈëÃÅ¿´Ê²Ã´Êé±È½ÏºÃ£¿
¡ñ
ITʵϰ»ú»á
¡ñ
[ͨ¸æ]³·³ý CBuilder °å°åÖ÷ huzhangyou
¡ñ
ɨµÄºÃ¸É¾»¡£¡£¡£¡£¡£
¡ñ
BCB6/Delphi7ÏÂÍêÃÀµ÷ÓÃCHM°ïÖú
¡ñ
ÈÎÃü huzhangyou Ϊ CBuilder ÌÖÂÛÇø°åÖ÷
¡ñ
[ת] ѧºÃVC++µÄÊ®´óÁ¼ºÃϰ¹ß
¡ñ
Borland´«Ææ£¨ËÄ£©
¡ñ
Borland´«ÆæÊ®ÕÂ
¡ñ
fulfilżºÃÅå·þÄãѽ
¡ñ
ÈçºÎÔÚC++BuilderÖÐʹÓÃÈ«¾Ö±äÁ¿
¡ñ
C++ Builder ÖеÄ×Ô»¹¦ÄÜ 2
¡ñ
[¹«¸æ] CBuilder °åµÄͶƱ½á¹û
¡ñ
C++BuilderÖÐʵÏÖÊÓÆµ²¶×½(VFW)·½Ê½
¡ñ
C++builderXÉÏ´«ÔÚD61/incoming/cbuilderXÖÐ
¡ñ
C++ builder µÄÎļþ¶Áд²Ù×÷×ܽá
×îÐÂÈÈÌù
¡ñ
C++Builder Ñо¿
¡ñ
ÉêÇëCBuilder°ßÖñ(×ªÔØ)
¡ñ
BCB/DelphiÖг£ÓõÄVCLº¯Êý˵Ã÷
¡ñ
Borland´«ÆæÈýÕÂ
¡ñ
TurboC++3.0
¡ñ
Delphi÷ÈÁ¦Ö®---ÐÜèÉÕÏã
¡ñ
C++ Builder ÖеÄ×Ô»¹¦ÄÜ 3
¡ñ
¡¾¹ØÓÚ¸öÈ˱ʼǵÄ˵Ã÷¡¿
¡ñ
ÇóÖú,ÔõÑùÓÃvc6.0 ½ÓÊÕN¸öÊý¾Ý?
¡ñ
[ÐÜèÉÕÏã]ºËÐÄÔ´Âë(DelphiÄ£·Â°æ±
¡ñ
Borland´«ÆæÊ®¶þÕÂ
¡ñ
ÇóÖú
¡ñ
VcÖжԻ°¿òcontral¹¤¾ßÀ¸Òþ²ØÁËÔõÄ
¡ñ
½¨ÒéÈ¥¿´¿´csdnµÄC++´óÌÖÂÛ
¡ñ
C++BuilderͼÊéÍÆ½é(¶þ)
¡ñ
Borland´«Ææ£¨¶þ£©
¡ñ
¡¾ÁªºÏ¹ºÊé¡¿¡º VirtoolsÊ¥¾¡¿
¡ñ
C++ Builder ÖеÄ×Ô»¹¦ÄÜ 2
¡ñ
Ò»¸ö²»ºÃÒâ˼ÄóöÀ´µÄÀóÌÐò£¬²»Öª
¡ñ
ÄÜ´«¸öVC++6.0°²×°Èí¼þô ,лл
¡ñ
¸÷λVC¸ßÊÖ°ïÎÒ¿´¿´
¡ñ
²Ù×÷ϵͳµäÐ͵÷¶ÈËã·¨ÑÝʾϵͳÉè¼Æ
¡ñ
Borland´«ÆæÊ®ÈýÕÂ
¡ñ
borland¹«Ë¾µÄÐÂÎÅ×é
¡ñ
C++BuilderÒôƵAPIµÄÓ¦ÓÃ
¡ñ
[×ªÔØ] ÓÃBCBÀ¹½ØWindowsÏûÏ¢(×ªÔØ
¡ñ
£¡ÇóÖú£¡Óöµ½Á˼«ÆäÎÞ·¨Àí½âµÄ´íÎó
¡ñ
Borland´«ÆæÆßÕÂ
¡ñ
Borland´«ÆæÒ»ÕÂ
¡ñ
CBuilder °å°åÖ÷ fulfil ÀëÈÎͨ¸æ
¡ñ
the legend of borland
¡ñ
C++ builder µÄÎļþ¶Áд²Ù×÷×ܽá
¡ñ
[Ô´´]Ò»¸öCÓïÑÔ±à³ÌÄÑÌâ
¡ñ
¸ßÊÖ°ïæ°¡£¬²»Ê¤¸Ð¼¤£¡£¡£¡
¡ñ
Borland´«ÆæÊ®ÕÂ
¡ñ
ÈÎÃü huzhangyou Ϊ CBuilder ÌÖÂÛ
¡ñ
VCLÔÉúÀà/À๤³§ÊµÏÖ
¡ñ
¹ØÓÚÖ¸ÕëºÍÄÚ´æµÄ¼¸¸öÎÊÌâ[×ªÔØ]
¡ñ
ÇëÎÊC++ºÍvC++,C++ builderÓÖʲôÇ
¡ñ
C++BuilderͼÊéÍÆ½é(Ò»)
ÌØ±ðÍÆ¼ö
ÑóÇ»Ñóµ÷Ó¢ÓïϵÁйâÅÌÃâ·ÑÁìÈ¡
Firefoxä¯ÀÀÆ÷,ÉÏÍø¸ü¿ì¸ü°²È«
×îÐÂÁ÷Ðк«¹ú·þÊÎ
Ãâ·ÑË÷È¡Ó×½ÌÍæ¾ßÌåÑé°ü