c new
C++ newÓ÷¨Ïà¹Ø¾Ñé×ܽá
×÷Õß: ØýÃû, ¡¡³ö´¦:ITר¼ÒÍø,¡¡ÔðÈαà¼: лåûåû,¡¡2010-04-16 07:00
¡¡¡¡C++ ±à³ÌÓïÑÔÖÐÓÐÒ»ÖÖ½Ð×önewµÄÊõÓï¡£²»¹ýÕâÒ»¸ÅÄîÊDZȽÏÄ£ºýµÄ£¬ÓÐЩÈ˰ÑËüÀí½âΪnewº¯Êý£¬µ«ÊÇÓеÄÈËÓÖ»á°ÑËüÀí½âΪnewÔËËã·û¡£ÄÇôËüµÄÕæÕýº¬ÒåÓÖÊÇÈçºÎµÄÄØ?ÔÚÕâÀïÎÒÃǽ«»áͨ¹ý¶ÔC++ newÓ÷¨µÄ½éÉÜ£¬°ïÖú´ó¼ÒÒ»Æð·ÖÎöһϡ£
¡¡¡¡C++ ±à³ÌÓïÑÔÖÐÓÐÒ»ÖÖ½Ð×önewµÄÊõÓï¡£²»¹ýÕâÒ»¸ÅÄîÊDZȽÏÄ£ºýµÄ£¬ÓÐЩÈ˰ÑËüÀí½âΪnewº¯Êý£¬µ«ÊÇÓеÄÈËÓÖ»á°ÑËüÀí½âΪnewÔËËã·û¡£ÄÇôËüµÄÕæÕýº¬ÒåÓÖÊÇÈçºÎµÄÄØ?ÔÚÕâÀïÎÒÃǽ«»áͨ¹ý¶ÔC++ newÓ÷¨µÄ½éÉÜ£¬°ïÖú´ó¼ÒÒ»Æð·ÖÎöһϡ£
¡¡¡¡C++ newÓ÷¨Ö®Ò» newÔËËã·û
¡¡¡¡×î³£ÓõÄÊÇ×÷ΪÔËËã·ûµÄnew£¬±ÈÈ磺
¡¡¡¡string *str = new string(¡°test new¡±);
¡¡¡¡×÷ΪÔËËã·û£¬newºÍsizeofÒ»Ñù£¬ÊÇC++ÄÚÖõģ¬Äã²»ÄܶÔËü×öÈκεĸı䣬³ýÁËʹÓÃËü¡£
¡¡¡¡new»áÔÚ¶ÑÉÏ·ÖÅäÒ»¿éÄڴ棬²¢»á×Ô¶¯µ÷ÓÃÀàµÄ¹¹Ô캯Êý¡£
¡¡¡¡C++ newÓ÷¨Ö®¶þ newº¯Êý
¡¡¡¡µÚ¶þÖÖ¾ÍÊÇnewº¯Êý£¬ÆäʵnewÔËËã·ûÄÚ²¿·ÖÅäÄÚ´æÊ¹ÓõľÍÊÇnewº¯Êý£¬ÔÐÍÊÇ£º
¡¡void *operator new(size_t size);
¡¡¡¡newº¯Êý·µ»ØµÄÊÇÒ»¸övoidÖ¸Õ룬һ¿éδ¾³õʼ»¯µÄÄÚ´æ¡£ÈçÄãËù¼û£¬ÕâºÍCÓïÑÔµÄmallocÐÐΪÏàËÆ£¬Äã¿ÉÒÔÖØÔØnewº¯Êý£¬²¢ÇÒÔö¼Ó¶îÍâµÄ²ÎÊý£¬µ«ÊDZØÐë±£Ö¤µÚÒ»¸ö²ÎÊý±ØÐëÊÇsize_tÀàÐÍ£¬ËüÖ¸Ã÷ÁË·ÖÅäÄÚ´æ¿éµÄ´óС£¬C++ÔÊÐíÄãÕâô×ö£¬µ±È»Ò»°ãÇé¿öÏÂÕâÊDz»±ØÒªµÄ¡£Èç¹ûÖØÔØÁËnewº¯Êý£¬ÔÚʹÓÃnew²Ù×÷·ûʱµ÷ÓõľÍÊÇÄãÖØÔØºóµÄnewº¯ÊýÁË¡£
¡¡¡¡Èç¹ûʹÓÃnewº¯Êý£¬ºÍÓï¾ästring *str = new string(¡°test new¡±)Ïà¶ÔµÄ´úÂë´ó¸ÅÊÇÈçϵÄÑù×Ó£º
¡¡¡¡1.string *str = (string*)operator new(sizeof(string));
¡¡¡¡2.str.string(¡°test new¡±);
¡¡¡¡3.// µ±È»Õâ¸öµ÷ÓÃʱ·Ç·¨µÄ£¬µ«ÊDZàÒëÆ÷ÊÇûÓÐÕâ¸öÏÞÖÆµÄ
¡¡¡¡Õ⻹²»ËãÍ꣬»¹ÓеÚÈýÖÖµÄnew´æÔÚ¡£
¡¡¡¡C++ newÓ÷¨Ö®Èý placement new
¡¡¡¡µÚÈýÖÖ£¬placement new£¬ÕâÒ²ÊÇnew×÷Ϊº¯ÊýµÄÒ»ÖÖÓ÷¨£¬ËüÔÊÐíÄãÔÚÒ»¿éÒÑ´æÔÚµÄÄÚ´æÉÏ·ÖÅäÒ»¸ö¶ÔÏ󣬶øÄÚ´æÉϵÄÊý¾Ý²»»á±»¸²¸Ç»òÕß±»ÄãÖ÷¶¯¸Äд£¬placement newͬÑùÓÉnew²Ù×÷·ûµ÷Ó㬵÷ÓøñʽÊÇ£º
¡¡new (buffer) type(size_t size);
¡¡¡¡ÏÈ¿´¿´ÏÂÃæµÄ´úÂ룺
¡¡ 4.char str[22];
¡¡¡¡5.int data = 123;
¡¡¡¡6.int *pa = new (&data) int;
¡¡¡¡7.int *pb = new (str) int(9);
¡¡¡¡½á¹û*pa = 123(δ¸²¸ÇÔÊý¾Ý)£¬¶ø*pb = 9(¸²¸ÇÔÊý¾Ý)£¬¿ÉÒÔ¿´µ½placement
Ïà¹ØÎĵµ£º
3.ÄÚ¹¦Ìâ
¡¡¡¡ÊÔÌâ1£º·Ö±ð¸ø³öBOOL£¬int£¬float£¬Ö¸Õë±äÁ¿ Óë“ÁãÖµ”±È½ÏµÄ if Óï¾ä£¨¼ÙÉè±äÁ¿ÃûΪvar£©
¡¡¡¡½â´ð£º
¡¡¡¡¡¡BOOLÐͱäÁ¿£ºif(!var)
¡¡¡¡¡¡intÐͱäÁ¿£º if(var==0)
¡¡¡¡¡¡floatÐͱäÁ¿£º
¡¡¡¡¡¡const float EPSINON = 0.00001;
¡¡¡¡¡ ......
µÚ¶þÕ Êý¾ÝÀàÐÍ
Ò»¡¢Êý¾ÝÀàÐÍ·ÖÀà
1 ÁªºÏÀàÐÍ
2 º¯ÊýÀàÐÍ
3 ÊýÁ¿ÀàÐÍ
3.1ËãÊõÀàÐÍ
¢Ù »ù±¾Êý¾ÝÀàÐÍ
ÕûÐÍ£¨°üÀ¨char£©
¸¡µãÐÍ ......
´ó¼ÒºÃ£¬ÕâÀïÓÐIBMµÄÈý¸ö³¤ÆÚÐèÇ󣺾ùÊÇÐèÒª2ÄêÒÔÉÏÏà¹Ø¹¤×÷¾Ñ飬ÆäÖÐJavaÒÔ¼°TestingÐèÒªÓ¢Óï¿ÉÒÔ½»Á÷£¬C/Unix²»ÐèÒªÓïÑÔ¡£
Java ´óÁ¬
ÃèÊö£ºJava programming, knowledge in J2SE, SWT/JFace, XML. Eclipse programming, knowledge in eclipse architecture. Clear understanding of plugin development. Hands-on exp ......
/*
ÕâÊǸö³£¼ûµÄÃæÊÔÌâŶ£¬×ÜÖ®ÎÒÃæÊÔµÄʱºòÓöµ½¹ý£¬ µ±Ê±Ã»ÓдðÉÏÀ´
»ØÈ¥ºóÏë³öÀ´ÏÂÃæµÄ·½·¨Ò»£¬¸Ã·¨»¹Óиö¸½¼ÓÓŵ㣬¿ÉÒÔÅжϳöÁ´±íÔÚÄĸöµØ·½Ðγɻ·µÄ£¨¼´Èç¹ûÏë²ð¿ªÕâ¸ö»·£¬´ÓÄĸöµØ·½¶Ï¿ª£©¡£
ºóÀ´ÖªµÀ»¹Óиö¾µäËã·¨£¬¼´Ê¹ÓÃÁ½¸öÖ¸Õ룬һ¿ìÒ»ÂýÏòǰÊÔ̽£¬Èç¹û×îÖÕÖØºÏÔòÁ´±íÓл·£¬¹ûÈ»ÓÅÃÀµÄËã·¨¡£
*/
#inc ......