¸ßÖÊÁ¿ C/C++±à³Ì±Ê¼Ç
¸ßÖÊÁ¿C++±à³Ì Note
¶¨Òå1£ºÄܳ¤ÆÚÎȶ¨µØ±àд³ö¸ßÖÊÁ¿³ÌÐòµÄ³ÌÐòÔ±³ÆÎª±à³ÌÀÏÊÖ¡£
¶¨Òå2£ºÄܳ¤ÆÚÎȶ¨µØ±àд³ö¸ßÄѶȡ¢¸ßÖÊÁ¿³ÌÐòµÄ³ÌÐòÔ±³ÆÎª±à³Ì¸ßÊÖ¡£
°æÈ¨ºÍ°æ±¾µÄÉùÃ÷λÓÚÍ·ÎļþºÍ¶¨ÒåÎļþµÄ¿ªÍ· £¬Ö÷ÒªÄÚÈÝÓУº
£¨1£©°æÈ¨ÐÅÏ¢¡£
£¨2£©ÎļþÃû³Æ£¬±êʶ·û£¬ÕªÒª¡£
£¨3£©µ±Ç°°æ±¾ºÅ£¬×÷Õß/ÐÞ¸ÄÕߣ¬Íê³ÉÈÕÆÚ¡£
£¨4£©°æ±¾ÀúÊ·ÐÅÏ¢¡£
Í·ÎļþÓÉÈý²¿·ÖÄÚÈÝ×é³É£º
£¨1£©Í·Îļþ¿ªÍ·´¦µÄ°æÈ¨ºÍ°æ±¾ÉùÃ÷¡£
£¨2£©Ô¤´¦Àí¿é¡£
£¨3£©º¯ÊýºÍÀà½á¹¹ÉùÃ÷µÈ¡£
¶¨ÒåÎļþÓÐÈý²¿·ÖÄÚÈÝ£º £¨1£© ¶¨ÒåÎļþ¿ªÍ·´¦µÄ°æÈ¨ºÍ°æ±¾ÉùÃ÷¡£
£¨2£© ¶ÔһЩͷÎļþµÄÒýÓá£
£¨3£© ³ÌÐòµÄʵÏÖÌ壨°üÀ¨Êý¾ÝºÍ´úÂ룩 ¡£
Èç¹ûÒ»¸öÈí¼þµÄÍ·ÎļþÊýÄ¿±È½Ï¶à£¨È糬¹ýÊ®¸ö£© £¬Í¨³£Ó¦½«Í·ÎļþºÍ¶¨ÒåÎļþ·Ö±ð±£´æÓÚ²»Í¬µÄĿ¼£¬ÒÔ±ãÓÚά»¤¡£
ÔÚÿ¸öÀàÉùÃ÷Ö®ºó¡¢Ã¿¸öº¯Êý¶¨Òå½áÊøÖ®ºó¶¼Òª¼Ó¿ÕÐС£
ÔÚÒ»¸öº¯ÊýÌåÄÚ£¬ÂßÒ¾ÉÏÃÜÇÐÏà¹ØµÄÓï¾äÖ®¼ä²»¼Ó¿ÕÐУ¬ÆäËüµØ·½Ó¦¼Ó¿ÕÐзָô¡£
Ò»ÐдúÂëÖ»×öÒ»¼þÊÂÇ飬ÈçÖ»¶¨ÒåÒ»¸ö±äÁ¿£¬»òֻдһÌõÓï¾ä¡£ÕâÑùµÄ´úÂëÈÝÒ×ÔĶÁ£¬²¢ÇÒ·½±ãÓÚдעÊÍ¡£
if¡¢for¡¢while¡¢do µÈÓï¾ä×ÔÕ¼Ò»ÐУ¬Ö´ÐÐÓï¾ä²»µÃ½ô¸úÆäºó¡£²»ÂÛÖ´ÐÐÓï¾äÓжàÉÙ¶¼Òª¼Ó{}¡£ÕâÑù¿ÉÒÔ·ÀÖ¹ÊéдʧÎó¡£
¹Ø¼ü×ÖÖ®ºóÒªÁô¿Õ¸ñ¡£Ïó const¡¢virtual¡¢inline¡¢case µÈ¹Ø¼ü×ÖÖ®ºóÖÁÉÙÒªÁôÒ»¸ö¿Õ¸ñ£¬·ñÔòÎÞ·¨±æÎö¹Ø¼ü×Ö¡£Ïó if¡¢for¡¢while µÈ¹Ø¼ü×ÖÖ®ºóÓ¦ÁôÒ»¸ö¿Õ¸ñÔÙ¸ú×óÀ¨ºÅ‘ £¨’ £¬ÒÔÍ»³ö¹Ø¼ü×Ö¡£
º¯ÊýÃûÖ®ºó²»ÒªÁô¿Õ¸ñ£¬½ô¸ú×óÀ¨ºÅ‘ £¨’ £¬ÒÔÓë¹Ø¼ü×ÖÇø±ð¡£
‘ £¨’Ïòºó½ô¸ú£¬ ‘£© ’ ¡¢ ‘£¬ ’ ¡¢ ‘;’Ïòǰ½ô¸ú£¬½ô¸ú´¦²»Áô¿Õ¸ñ¡£
‘£¬ ’Ö®ºóÒªÁô¿Õ¸ñ£¬Èç Function(x, y, z)¡£Èç¹û‘;’²»ÊÇÒ»ÐеĽáÊø
·ûºÅ£¬ÆäºóÒªÁô¿Õ¸ñ£¬Èç for (initialization; condition; update)¡£
¸³Öµ²Ù×÷·û¡¢±È½Ï²Ù×÷·û¡¢ËãÊõ²Ù×÷·û¡¢Âß¼²Ù×÷·û¡¢Î»Óò²Ù×÷·û£¬Èç“=” ¡¢ “+=” “>=” ¡¢ “<=” ¡¢ “+” ¡¢ “*” ¡¢ “%” ¡¢ “&&” ¡¢ “||” ¡¢ “<<”,“^”µÈ¶þÔª²Ù×÷·ûµÄǰºóÓ¦µ±¼Ó¿Õ¸ñ¡£
Ò»Ôª²Ù×÷·ûÈç“!” ¡¢ “~” ¡¢ “++” ¡¢ “--” ¡¢
Ïà¹ØÎĵµ£º
»Ø¹Ë֮ǰµÄƪ·ù£¬CÓïÑÔµÄÖ÷Ì岿·Ö»ù±¾ÒѾ½éÉÜÍêÁË¡£Ö®ËùÒÔûÓнéÉÜC++µÄÏà¹ØÌØÐÔÊÇÒòΪÔÚ֮ǰµÄÎÄÕÂÖÐCºÍC++ÔÚÕâЩ·½Ãæ¶¼Óй²ÐÔ£¬ËùÒÔÔÚÃæÏò¶ÔÏó֮ǰ¡£ÎÒÃÇÏȰÑÕâЩ¹²ÐÔ¸ø½éÉÜÍê¡£Ò²¾ÍÊÇ˵ÔÚ½éÉÜÃæÏò¶ÔÏó֮ǰ£¬ËùÓеÄÎÄÕ¶¼ÊÇCC++Öж¼ÄÜʹÓõġ£´ÓÕâµãÉÏÀ´¿´£¬ÏÖÔÚÕý¼«Á¦·Ü¶·ÓÚC++Õ½ÏßÉϵijõѧÕß»¹ÊǺÜÓÐÓô¦µÄ¡£
±¾Æª¼ÌÐ ......
¹ØÓÚcµÄ¶¯Ì¬ÄÚ´æ¹ÜÀíÒ»Ö±ÊǸö¾¾Ã²»Ë¥µÄ»°Ìâ,ÃæÊÔÒ²ÊÇ»ù±¾É϶¼»á¿¼µÄ,±¾À´¸Ð¾õÒѾÃ÷°×ÁË,µ«ÊǽñÌìʹÓõÄʱºòÒ»²»Ð¡Ðĵ¼Ö³ÌÐò±ÀÀ£ÁË,Òò´ËÉîÈëµÄÈ¥²éÁËÏÂ×ÊÁÏ,ÊÕ»ñ²»ÉÙ...Ìù³öÀ´Óë´ó¼Ò·ÖÏí...
ÏÈÌù¸ö´íÎó´úÂë:
int * ptr = (int *)mal ......
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï ......
The meaning of the c in calloc was vividly discussed in comp.lang.c in October 2000 (see here), with both clear (because, unlike malloc, calloc clears the memory it returns) and count (because, unlike malloc, calloc is passed a count of elements to allocate) suggested as possible explanations, howev ......