Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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


Ïà¹ØÎĵµ£º

C/C++µ¥Ôª²âÊÔÀíÂÛ¾«Òª£¨ËÄ£©

ÌâÍâÆª£ºµ¥Ôª²âÊÔÄÑÓÚ³¤ÆÚ¼á³ÖµÄÔ­ÒòÓë½â¾ö̽ÌÖ
    ÉÏһƪ¡¶µ¥Ôª²âÊÔÐ§Òæ¡·£¬ÓÐÍøÓÑÆÀÂÛ˵£º“µ¥Ôª²âÊԵĺô¦»ù±¾ÈËÈËÖªµÀ£¬¾ÍÊÇÄѼá³Ö£¡”¡£ÕâÒ»ÆÀÂÛÑÏÖØÌáÐÑÁËÎÒ£¬²»´í£¬“ÄѼá³Ö”Ò²ÊÇÒ»¸öÆÕ±éÏÖ×´¡£Èç¹û²»Äܼá³Ö£¬ÄÇÒ»Çж¼Êǰ״Òò´Ë£¬ÕâÀï²åÈëÒ»¸öÌâÍâÆª£¬Ì½ÌÖµ¥Ôª²âÊÔÄÑÓÚ³¤Æ ......

ͨѶ¼C³ÌÐò´úÂë

#include <stdio.h>
#include <string.h> /* ³ÌÐò¶à´Îµ÷ÓÃbiodkey()£¬Ó¦°üº¬Í·Îļþbios.h */
#include <bios.h><br>/* ³ÌÐò¶à´Îµ÷ÓÃclrscr()£¬Ó¦°üº¬Í·Îļþconio.h */
#include <conio.h>
#define MAX 100
#define PAGE 2
#define PRINT1 printf("------------------------------ ......

¡¾IBMÐèÇóÐÅÏ¢¡¿ JAVA, C/UNIXÐèÇó

´ó¼ÒºÃ£¬ÕâÀïÓÐ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 ......

extern extern ¡°C¡±

externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©.
Ëü¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
1¡£¶ÔÓÚextern±äÁ¿À´Ëµ£¬½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå·ÖÅäÄÚ´æ¿Õ¼ä¡£Èç¹û¸Ã±äÁ¿¶¨Òå¶à´Î£¬»áÓÐÁ¬½Ó´íÎó
2¡£Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿éÒýÓõĺ¯ÊýºÍ ......

C³ÌÐò£º¶¨Òåºê´òӡijλÓò¹²ÓжàÉÙλ

#include <stdio.h>
#define bits(p, d) { \
int _tmp=p->d, _bits=0; \
for (p->d=1; p->d; p->d<<=1) \
_bits++; \
p->d=_tmp; \
printf("%s->%s has %d bits", #p, #d, _bits); \
}
typedef struct _s{
int a:4;
} S;
int main()
{
S tmp, ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ