dz̸CÓëC++µÄÉè¼ÆÓë±à³Ì·ç¸ñ£¨Ò»£©
Ò»Ö±ÏëдһЩ±È½ÏCºÍC++Éè¼ÆÓë±à³Ì·ç¸ñµÄÎÄ×Ö£¬ÕýºÃ½üÀ´¹¤×÷ÈÎÎñ²»¶à£¬Äܹ»ÓÐʱ¼äÖØÐÂÕûÀíÒ»ÏÂ×Ô¼ºËùѧµÄ¶«¶«£¬ÓÚÊDZã¾ö¶¨¿ªÊ¼Ð´Õâ¸öÌâÄ¿£¬¶øÄ¿µÄ½ö½öÖ»ÊÇ´òËãÄܾÍÕâ¸ö»°ÌâºÍ´ó¼ÒÌÖÂÛÌÖÂÛ£¬Å×שÒýÓñ¡¢Ôö³¤¸öÈ˵ļûʶ¡£
Ê×ÏÈÏë˵Ã÷һϣ¬¸öÈËÊÇC++Éè¼Æ¡¢±à³Ì·ç¸ñµÄ¼á¶¨Óµ»¤Õߣ¬ËùÒÔÎҵĹ۵ãÄÑÃâ´øÓиöÈËµÄÆ«ºÃ£¬Èç¹ûÄú²»ÔÞͬ£¬Ò²ÇëÅúÆÀÖ¸Õý¡£ºÃÁË£¬ÑÔ¹éÕý´«£¬¸öÈ˾õµÃCÓëC++Éè¼ÆÓë±à³Ì·ç¸ñ×î±¾ÖʵIJ»Í¬ÊÇ£ºCÒÔº¯Êý¼äµÄµ÷ÓùØÏµÎªºËÐÄ£¨ËùÒÔCÓïÑÔ±»³ÆÎªÃæÏò¹ý³ÌʽÓïÑÔ£©£¬¶øC++ÒÔ³ÌÐòÔªËØ£¨¶ÔÏ󣩼äµÄ¹ØÏµºÍ½á¹¹ÎªºËÐÄ£¨ËùÒÔC++±»³ÆÎªÃæÏò¶ÔÏóµÄÓïÑÔ£©——PS£ºÈç¹ûÄúÄõ½Ò»¶Ñ´úÂëºóÊ×ÏÈÈ¥¿´¸÷¸öº¯ÊýµÄʵÏÖ£¬²¢ÊÔͼŪ¶®ËüÃÇÊÇÈçºÎÏ໥µ÷Óõģ¬ÄÇÖ¤Ã÷ÄúÊÇһλµäÐ͵ÄC³ÌÐòÔ±£»¶øÈç¹ûÄúÊ×ÏÈÊÇÈ¥²é¿´ËùÓÐÍ·Îļþ£¬²¢ÊÔͼ¸ã¶®Ã¿¸öÀàÖ®¼äµÄ¹ØÏµ£¬ÄÇÖ¤Ã÷ÄúÊÇһλµäÐ͵ÄC++³ÌÐòÔ±¡£
¾Ù¸ö¼òµ¥µÄÀý×Ó£¬¶ÔÓÚÒ»ÃûC³ÌÐòÔ±£¬µ±ËûÐèҪʵÏÖijÖÖ״̬»úʱ£¬Í¨³£ÊÇʹÓÃÏÂÃæÕâÑùµÄ´úÂ룺
if (0 == CheckState(...) ) // ÅжÏij¸öº¯ÊýµÄ·µ»ØÖµÊÇ·ñΪ0
DoSomething(...); // µ÷ÓÃij¸öº¯Êý
else
DoSomethingElse(...); // µ÷Óô¦ÀíÆäËüÇé¿öµÄÁíÒ»¸öº¯Êý
»òÊÇÕâÑù£º
switch( CheckState(...) ) // ¸ù¾Ýij¸öº¯ÊýµÄ·µ»ØÖµ×ö²»Í¬µÄ¶¯×÷
{
case 0:
DoSomething1(...);
break;
case 1:
DoSomething2(...);
break;
case -1:
DoSomething3(...);
break;
default:
DoSomethingElse(...);
}
£¨PS£ºÒÔÉÏÕâЩ´úÂë±ØÈ»ÊÇÔÚÔ´ÎļþµÄij¸öº¯ÊýÖгöÏֵģ¬ÕâÒ²½âÊÍÁËΪʲôC³ÌÐòÔ±×ÜÊÇÏÈ¿´Ô´Îļþ¡££©¶øÒ»¸öC++³ÌÐòÔ±Ôò¿ÉÄܲ»Õâô×ö£¬ÕâÀïC++³ÌÐòÔ±¶àÁËÒ»ÖÖÑ¡Ôñ——ʹÓÃÐ麯Êý£º
//ÉêÃ÷Ò»¸ö½Ó¿Ú
struct IStateMachine
{
virtual void DoSomething(...) = 0;
};
// Õë¶Ô״̬0Ìṩһ¸öʵÏÖÀà
struct CDoSomethingForState0: IStateMachine
{
virtual void DoSomething(...);
}
// Õë¶Ô״̬1Ìṩһ¸öʵÏÖÀà
struct CDoSomethingForState1: IStateMachine
{
virtual void DoSomething(...);
};
// Õë¶ÔÆäËü״̬Ìṩһ¸öʵÏÖÀà
struct CDoSomethingForOhterStates: IStateMachine
{
virtual void DoSomething(...);
};
// ʹÓÃÒ»¸ö¹¤³§º¯ÊýÀ´·µ»ØÌض¨µÄʵÏÖ¶ÔÏó
IStateMachine * CheckState(...);
//
Ïà¹ØÎĵµ£º
¹ØÓÚcµÄ¶¯Ì¬ÄÚ´æ¹ÜÀíÒ»Ö±ÊǸö¾¾Ã²»Ë¥µÄ»°Ìâ,ÃæÊÔÒ²ÊÇ»ù±¾É϶¼»á¿¼µÄ,±¾À´¸Ð¾õÒѾÃ÷°×ÁË,µ«ÊǽñÌìʹÓõÄʱºòÒ»²»Ð¡Ðĵ¼Ö³ÌÐò±ÀÀ£ÁË,Òò´ËÉîÈëµÄÈ¥²éÁËÏÂ×ÊÁÏ,ÊÕ»ñ²»ÉÙ...Ìù³öÀ´Óë´ó¼Ò·ÖÏí...
ÏÈÌù¸ö´íÎó´úÂë:
int * ptr = (int *)mal ......
/*
* XMLTool.h ÅäÖÃÎļþ½âÎö¶¯Ì¬¿âÍ·Îļþ
* Ö÷ÒªÊä³öº¯Êý½Ó¿Ú·Ö±ðʵÏÖ¶ÔÅäÖÃÎļþµÄ¶ÁÈ¡ºÍдÈ룬Õë¶Ô½á¹û¼¯µÄ¸´ÖÆÇå¿Õ£¬ºÍÁ½¸ö×Ö·û´®´¦Àíº¯Êý
* ¶ÁÈ¡ÅäÖÃÎļþ½Ó¿Ú £ºint ReadXMLFile(XML_Node_Vector *XmlNodeVector, string filepath);
* дÈëÅäÖ ......
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 ......
µ±¶ÁÕßÓÐÒ»¶¨c/c++»ù´¡
ÍÆ¼öµÄÔĶÁ˳Ðò:
level 1
´Ó<<essential c++>>¿ªÊ¼£¬¶ÌС¾«º·£¬¿ÉÒÔ¶Ôc++ÄܽøÒ»²½Á˽âÆäÌØÐÔ
ÒÔ<<c++ primer>>×÷×ÖµäºÍ¿ÎÍâ¶ÁÎÒòΪ̫ºñ²»¿ÉÄÜÒ»¿ÚÆø¿´Íê
level 2
È»ºó´Ó<<effective c++>>¿ªÊ¼×ªÖ°£¬ÕâÊÇÊ¥¾£¬Çë×ñÊØ10½ë£¬Òª¾³£¿´£¬Ã»Ê¾ÍÄÃÀ´··
......
¸ßÖÊÁ¿C++±à³Ì Note
¶¨Òå1£ºÄܳ¤ÆÚÎȶ¨µØ±àд³ö¸ßÖÊÁ¿³ÌÐòµÄ³ÌÐòÔ±³ÆÎª±à³ÌÀÏÊÖ¡£
¶¨Òå2£ºÄܳ¤ÆÚÎȶ¨µØ±àд³ö¸ßÄѶȡ¢¸ßÖÊÁ¿³ÌÐòµÄ³ÌÐòÔ±³ÆÎª±à³Ì¸ßÊÖ¡£
°æÈ¨ºÍ°æ±¾µÄÉùÃ÷λÓÚÍ·ÎļþºÍ¶¨ÒåÎļþµÄ¿ªÍ· £¬Ö÷ÒªÄÚÈÝÓУº
£¨1£©°æÈ¨ÐÅÏ¢¡£
£¨2£©ÎļþÃû³Æ£¬±êʶ·û£¬ÕªÒª¡£
£¨3£©µ±Ç°°æ±¾ºÅ£¬×÷Õß/ÐÞ¸ÄÕߣ¬Íê³ÉÈÕÆÚ¡£
......