£¨µÚ1Õ£©
(P1~3)1£®ÓÃ×Ô¼ºµÄÓïÑÔ¶ÔSGML¡¢HTMLºÍXML×÷¼òµ¥½éÉܺͶԱȡ£
SGML ÊÇÒ»ÖÖ²ÉÓñê¼ÇÀ´ÃèÊöÎĵµÊý¾ÝµÄͨÓÃÓïÑÔ£¬SGML¶¨ÒåÁË»ù±¾µÄÓï·¨ºÃ£¬Í¬Ê±Ò²ÔÊÐíÓû§½¨Á¢×Ô¼ºµÄÔªËØ±ê¼Ç¡£
HTML ²ÉÓÃÁ˺ÜСһ²¿·ÖSGMLµÄ±ê¼Ç£¬Í¬Ê±HTML²ÉÓõÄÊǹ̶¨±ê¼ÇÒ²²»ÐèÒª°üº¬DTD¡£
XML ͬHTMLÒ»Ñù£¬¶¼Êdzö×ÔÓÚSGML±ê׼ͨÓñê¼ÇÓïÑÔ¡£XMLÊÇInternet»·¾³ÖÐ¿çÆ½Ì¨¡¢ÒÀÀµÓÉÓÚÄÚÈݵļ¼Êõ£¬Êǵ±Ç°´¦Àí½á¹¹ÎĵµÐÅÏ¢µÄÓÐÁ¦¹¤¾ß
(P3)2£®XMLÓÐÄÄÐ©ÌØµã£¿
¢Ù XMLÊÇSGMLµÄ¼ò»¯°æ£¬Ëü¼Ì³ÐÁËSGMLµÄÐí¶àÓŵ㡣
¢Ú XMLÎĵµ¿ÉÒÔÓÃÀ´ÇåÇå³þµÄÃèÊö¡¢´¢´æ¡¢ºÍ¹²Ïí¸÷ÖÖÊý¾Ý¡£
¢Û XMLÊÇ¿ÉÀ©Õ¹µÄ¡£
¢Ü XMLÊÇ¿çÆ½Ì¨µÄ£¬Ëü²»ÒÀÀµÓÚÈκÎÒ»ÖÖ³ÌÐòÉè¼ÆÓïÑÔ¡¢²Ù×÷ϵͳºÍÈí¼þ¿ª·¢ÉÌ¡£¿ÉÒÔ×÷Ϊ¸÷ÖÖÓïÑԺ͸÷ÖÖϵͳƽ̨Êý¾Ý½»»»µÄÇÅÁº¡£
¢Ý XMLÊǽṹ»¯µÄ£¬Ëü²»½öÄܹ»ÃèÊöÎĵµÖеĸ÷ÖÖÊý¾ÝµÄº¬Òå¶øÇÒÄܹ»ÃèÊöÕû¸öÎĵµµÄÂß¼½á¹¹¡£
¢Þ XMLÊÇ»ùÓÚÎı¾µÄ£¬Ëü¿ÉÒÔÓÃÈκÎÒ»ÖÖÎı¾±à¼¹¤¾ßÀ´ÔĶÁºÍ±à¼Ð޸ġ£
¢ß XMLµÄÊý¾ÝÔ¤ÆÚÏÔʾ¸ñÊ ......
ÏÂÃæµÄ±í¸ñÁгöÁ˰üº¬ÔÚDOM Level 1Öеķ½·¨£¬²¢Áгö²»Í¬µÄä¯ÀÀÆ÷ÊÇ·ñÖ§³ÖÏî¡£
·½ ·¨
Ãè Êö
IE
MOZ
OP
SAF
createAttribute
(name
)
Óøø¶¨Ãû³Æname
´´½¨ÌØÐÔ½Úµã
×
×
×
£
createCDATASection
(text
)
Óðüº¬Îı¾
text
µÄÎı¾×Ó½Úµã
´´½¨Ò»¸ö
CDATA
Section
£
×
£
£
createComment(text
)
´´½¨°üº¬Îı¾text
µÄ×¢Êͽڵã
×
×
×
×
createDocument
Fragment()
´´½¨ÎĵµË鯬½Úµã
×
×
×
×
createElement
(tagname
)
´´½¨±êÇ©ÃûΪtagname
µÄÔªËØ
×
×
×
×
createEntity
Reference(name
)
´´½¨¸ø¶¨Ãû³ÆµÄʵÌåÒýÓýڵã
£
×
£
£
createProcessing
Instruction(target
,
data
)
´´½¨°üº¬¸ø¶¨target
ºÍdata
µÄPI
½Úµã
£
×
£
£
createTextNode(text
)
´´½¨°üº¬Îı¾text
µÄÎı¾½Úµã
×
×
×
×
×¢£ºIE = Windows
µÄIE 6
£»MOZ =
ÈÎÒâÆ½Ì¨µÄMozilla 1.5
£»OP=
ÈÎÒâÆ½Ì¨µÄOpera 7.5
£»S ......
1 ±à³Ì»ù´¡
1.1 »ù±¾¸ÅÄî
1. µÄÀí½â£ºconst char*, char const*, char*constµÄÇø±ðÎÊÌ⼸ºõÊÇC++ÃæÊÔÖÐÿ´Î ¶¼»áÓеÄÌâÄ¿¡£ ÊÂʵÉÏÕâ¸ö¸ÅÄî˶¼ÓÐÖ»ÊÇÈýÖÖÉùÃ÷·½Ê½·Ç³£ÏàËÆºÜÈÝÒ׼ǻ졣 BjarneÔÚËûµÄThe C++ Programming LanguageÀïÃæ¸ø³ö¹ýÒ»¸öÖú¼ÇµÄ·½·¨£º °ÑÒ»¸öÉùÃ÷´ÓÓÒÏò×ó¶Á¡£ const
char * const cp; ( * ¶Á³É pointer to )
cp is a const pointer to char
const char * p;
p is a pointer to const char;
char const * p;
ͬÉÏÒòΪC++ÀïÃæÃ»ÓÐconst*µÄÔËËã·û£¬ËùÒÔconstÖ»ÄÜÊôÓÚÇ°ÃæµÄÀàÐÍ¡£
2. Ö¸Õëc
int *p[n];-----Ö¸ÕëÊý×飬ÿ¸öÔªËØ¾ùΪָÏòÕûÐÍÊý¾ÝµÄÖ¸Õë¡£
int (*)p[n];------pΪָÏòһάÊý×éµÄÖ¸Õ룬Õâ¸öһάÊý×éÓÐn¸öÕûÐÍÊý¾Ý¡£
int *p();----------º¯Êý´ø»ØÖ¸Õ룬ָÕëÖ¸Ïò·µ»ØµÄÖµ¡£
int (*)p();------pΪָÏòº¯ÊýµÄÖ¸Õë¡£
3. Êý×éÔ½½çÎÊÌâ
ÏÂÃæÕâ¸ö³ÌÐòÖ´Ðкó»áÓÐʲô´íÎó»òÕßЧ¹û:
#de ......
1 ±à³Ì»ù´¡
1.1 »ù±¾¸ÅÄî
1. µÄÀí½â£ºconst char*, char const*, char*constµÄÇø±ðÎÊÌ⼸ºõÊÇC++ÃæÊÔÖÐÿ´Î ¶¼»áÓеÄÌâÄ¿¡£ ÊÂʵÉÏÕâ¸ö¸ÅÄî˶¼ÓÐÖ»ÊÇÈýÖÖÉùÃ÷·½Ê½·Ç³£ÏàËÆºÜÈÝÒ׼ǻ졣 BjarneÔÚËûµÄThe C++ Programming LanguageÀïÃæ¸ø³ö¹ýÒ»¸öÖú¼ÇµÄ·½·¨£º °ÑÒ»¸öÉùÃ÷´ÓÓÒÏò×ó¶Á¡£ const
char * const cp; ( * ¶Á³É pointer to )
cp is a const pointer to char
const char * p;
p is a pointer to const char;
char const * p;
ͬÉÏÒòΪC++ÀïÃæÃ»ÓÐconst*µÄÔËËã·û£¬ËùÒÔconstÖ»ÄÜÊôÓÚÇ°ÃæµÄÀàÐÍ¡£
2. Ö¸Õëc
int *p[n];-----Ö¸ÕëÊý×飬ÿ¸öÔªËØ¾ùΪָÏòÕûÐÍÊý¾ÝµÄÖ¸Õë¡£
int (*)p[n];------pΪָÏòһάÊý×éµÄÖ¸Õ룬Õâ¸öһάÊý×éÓÐn¸öÕûÐÍÊý¾Ý¡£
int *p();----------º¯Êý´ø»ØÖ¸Õ룬ָÕëÖ¸Ïò·µ»ØµÄÖµ¡£
int (*)p();------pΪָÏòº¯ÊýµÄÖ¸Õë¡£
3. Êý×éÔ½½çÎÊÌâ
ÏÂÃæÕâ¸ö³ÌÐòÖ´Ðкó»áÓÐʲô´íÎó»òÕßЧ¹û:
#de ......
°æÈ¨ÉêÃ÷£ºÒÔÏÂÄÚÈÝÊôÓÚ×÷ÕßÕýÔÚд×÷µÄ¡¶Èí¼þ²âÊÔʵ¼ù¡·Ò»ÊéµÄÄÚÈÝ£¬Î´¾Ðí¿É²»µÃÓÃÓÚÈκÎÕýʽ³ö°æÎïÖУ¬Èç¹û×ªÔØÇë×¢Ã÷³ö´¦¡£
×÷ÕߣºÖÜΰÃ÷
´úÂë¼ìÊÓÒªµã
´úÂë¼ìÊÓ¼¼ÄÜÊôÓÚ¿ª·¢ÈËÔ±µÄ»ù±¾¹¦£¬Äܹ»ºÜ´ó³Ì¶ÈµØ·´Ó¦³ö¿ª·¢ÈËÔ±µÄÄÜÁ¦Ë®Æ½£¬Ç°Ãæ4.4.1½ÚÒѾ½²¹ýÌá¸ßÆÀÉó¼ìÊӵķ½·¨¡£ÏÂÃæÒÔʵ¼ÊµÄC/C++ÓïÑÔ·½ÃæµÄ´úÂëÀ´½²½â´úÂë¼ìÊÓµÄһЩ»ù±¾¹Ø×¢µãºÍÖØµã¼ì²éµÄÄÚÈÝ¡£
´ÓC/C++ÓïÑÔ¿ª·¢µÄ´úÂëÀ´½²£¬¼ìÊÓʱÖ÷Òª¹Ø×¢ÒÔÏÂһЩ·½Ã棺
ÓëÏêϸÉè¼ÆµÄÒ»ÖÂÐÔ
±àÒëÉèÖÃ
Í·Îļþ¼ì²é
ºê¶¨Òå¼ì²é
³£Á¿
È«¾Ö±äÁ¿Óë¹²Ïí±äÁ¿
¾²Ì¬±äÁ¿ºÍº¯Êý
Êý¾Ý½á¹¹
³õʼ»¯
×Ö·û´®
ÊäÈëУÑé
ÄÚ´æ·ÖÅäºÍÊÍ·Å
±ß½çÌõ¼þ
......
°æÈ¨ÉêÃ÷£ºÒÔÏÂÄÚÈÝÊôÓÚ×÷ÕßÕýÔÚд×÷µÄ¡¶Èí¼þ²âÊÔʵ¼ù¡·Ò»ÊéµÄÄÚÈÝ£¬Î´¾Ðí¿É²»µÃÓÃÓÚÈκÎÕýʽ³ö°æÎïÖУ¬Èç¹û×ªÔØÇë×¢Ã÷³ö´¦¡£
×÷ÕߣºÖÜΰÃ÷
´úÂë¼ìÊÓÒªµã
´úÂë¼ìÊÓ¼¼ÄÜÊôÓÚ¿ª·¢ÈËÔ±µÄ»ù±¾¹¦£¬Äܹ»ºÜ´ó³Ì¶ÈµØ·´Ó¦³ö¿ª·¢ÈËÔ±µÄÄÜÁ¦Ë®Æ½£¬Ç°Ãæ4.4.1½ÚÒѾ½²¹ýÌá¸ßÆÀÉó¼ìÊӵķ½·¨¡£ÏÂÃæÒÔʵ¼ÊµÄC/C++ÓïÑÔ·½ÃæµÄ´úÂëÀ´½²½â´úÂë¼ìÊÓµÄһЩ»ù±¾¹Ø×¢µãºÍÖØµã¼ì²éµÄÄÚÈÝ¡£
´ÓC/C++ÓïÑÔ¿ª·¢µÄ´úÂëÀ´½²£¬¼ìÊÓʱÖ÷Òª¹Ø×¢ÒÔÏÂһЩ·½Ã棺
ÓëÏêϸÉè¼ÆµÄÒ»ÖÂÐÔ
±àÒëÉèÖÃ
Í·Îļþ¼ì²é
ºê¶¨Òå¼ì²é
³£Á¿
È«¾Ö±äÁ¿Óë¹²Ïí±äÁ¿
¾²Ì¬±äÁ¿ºÍº¯Êý
Êý¾Ý½á¹¹
³õʼ»¯
×Ö·û´®
ÊäÈëУÑé
ÄÚ´æ·ÖÅäºÍÊÍ·Å
±ß½çÌõ¼þ
......
Õû¸ö²âÊÔ×ñÑÒÔϵÄÔ¼¶¨£º
u
¼Ù¶¨ÔÚËùÓеijÌÐòÖбØÐëµÄÍ·Îļþ¶¼ÒѾ±»ÕýÈ·°üº¬¡£
¿¼ÂÇÈçϵÄÊý¾ÝÀàÐÍ£º
u
char
Ϊ
1
¸ö×Ö½Ú
u
int
Ϊ
4
¸ö×Ö½Ú
u
long int
Ϊ
4
¸ö×Ö½Ú
u
float
Ϊ
4
¸ö×Ö½Ú
u
double
Ϊ¸ö
8
×Ö½Ú
u
long double
Ϊ
8
¸ö×Ö½Ú
u
Ö¸ÕëΪ
4
¸ö×Ö½Ú
1. Consider the following program:
#include<setjmp.h>
static jmp_buf buf;
main()
{
volatile int b;
b =3;
if(setjmp(buf)!=0)
{
printf("%d ", b);
exit(0);
}
b=5;
longjmp(buf , 1);
}
The output for this program is:
(a) 3 ......
£¨×¢£¬±¾ÎÄÊÇ·ÒëµÄhttp://www.cprogramming.com/
ÉϵÄÎÄÕ Where C and C++ Differ
£©
C++»ùÓÚC£¬Ò²±£ÁôÁËCµÄ´ó²¿·ÖÌØÐÔ¡£µ«ÊÇÔÚÔ´Âë¼¶ÉÏÓÐЩµØ·½ÊÇÓëC²»¼æÈݵġ£
C³ÌÐòԱʹÓÃC++ʱµÄÏÝÚå
´Ó void* µÄÒþʽ·ÖÅä
²»ÄÜ´Ó void* ÒþʽµØ·ÖÅäµ½ÆäËûÈκÎÀàÐÍ¡£ÀýÈ磬ÏÂÃæµÄ´úÂëÔÚCÖÐÊǷdz£ÓÐЧµÄ¡£
int *X = malloc(sizeof(int) * 10);
µ«ÊÇÈ´²»ÄÜÔÚC++ÖбàÒë¡£
°´ÕÕBjarne StroustrupËû×Ô¼ºµÄ½âÊÍ£¬Õâ²»ÊÇÀàÐͰ²È«µÄ¡£
¿¼ÂÇÈçϵĴúÂ룺
int an_int;
void *void_pointer = &an_int;
double *double_ptr = void_pointer;
*double_ptr = 5;
µ±Äã¸ø*double_ptr·ÖÅäÖµ5£¬ÆäÏòÄÚ´æÖÐдÈë8¸ö×Ö½Ú£¬µ«ÊÇÕûÐαäÁ¿an_int½öΪ4¸ö×Ö½Ú¡£
³ÌÐòÓ¦¸Ã×¢ÒâÕâÑùµÄÇ¿ÖÆ×ª»»¡£
ÊÍ·ÅÊý×飺new[] ºÍ delete[]
ÔÚCÖУ¬Ö»ÓÐÒ»ÖÖÖ÷ÒªµÄÄÚ´æ·ÖÅ亯Êý£ºmalloc ¡£Äã¿ÉÒÔʹÓÃËüÀ´·ÖÅäµ¥Ò»ÔªËØºÍÊý×飺
int *X = malloc(sizeof(int);
int *x_array = malloc(sizeof(int) * 10);
Äã×ÜÊÇÓÃÏàͬµÄ·½·¨ÊÍ·ÅÄڴ棺
free(X);
......
£¨×¢£¬±¾ÎÄÊÇ·ÒëµÄhttp://www.cprogramming.com/
ÉϵÄÎÄÕ Where C and C++ Differ
£©
C++»ùÓÚC£¬Ò²±£ÁôÁËCµÄ´ó²¿·ÖÌØÐÔ¡£µ«ÊÇÔÚÔ´Âë¼¶ÉÏÓÐЩµØ·½ÊÇÓëC²»¼æÈݵġ£
C³ÌÐòԱʹÓÃC++ʱµÄÏÝÚå
´Ó void* µÄÒþʽ·ÖÅä
²»ÄÜ´Ó void* ÒþʽµØ·ÖÅäµ½ÆäËûÈκÎÀàÐÍ¡£ÀýÈ磬ÏÂÃæµÄ´úÂëÔÚCÖÐÊǷdz£ÓÐЧµÄ¡£
int *X = malloc(sizeof(int) * 10);
µ«ÊÇÈ´²»ÄÜÔÚC++ÖбàÒë¡£
°´ÕÕBjarne StroustrupËû×Ô¼ºµÄ½âÊÍ£¬Õâ²»ÊÇÀàÐͰ²È«µÄ¡£
¿¼ÂÇÈçϵĴúÂ룺
int an_int;
void *void_pointer = &an_int;
double *double_ptr = void_pointer;
*double_ptr = 5;
µ±Äã¸ø*double_ptr·ÖÅäÖµ5£¬ÆäÏòÄÚ´æÖÐдÈë8¸ö×Ö½Ú£¬µ«ÊÇÕûÐαäÁ¿an_int½öΪ4¸ö×Ö½Ú¡£
³ÌÐòÓ¦¸Ã×¢ÒâÕâÑùµÄÇ¿ÖÆ×ª»»¡£
ÊÍ·ÅÊý×飺new[] ºÍ delete[]
ÔÚCÖУ¬Ö»ÓÐÒ»ÖÖÖ÷ÒªµÄÄÚ´æ·ÖÅ亯Êý£ºmalloc ¡£Äã¿ÉÒÔʹÓÃËüÀ´·ÖÅäµ¥Ò»ÔªËØºÍÊý×飺
int *X = malloc(sizeof(int);
int *x_array = malloc(sizeof(int) * 10);
Äã×ÜÊÇÓÃÏàͬµÄ·½·¨ÊÍ·ÅÄڴ棺
free(X);
......