¸ßÖÊÁ¿C++/C±à³ÌÖ¸ÄÏ
http://man.lupaworld.com/content/develop/c&c++/c/c.htm
1. Èç¹û²ÎÊýÊÇÖ¸Õ룬ÇÒ½ö×÷ÊäÈëÓã¬ÔòÓ¦ÔÚÀàÐÍÇ°¼Óconst£¬ÒÔ·ÀÖ¹¸ÃÖ¸ÕëÔÚº¯ÊýÌåÄÚ±»ÒâÍâÐÞ¸Ä
2. ÔÚº¯ÊýÌåµÄ“Èë¿Ú´¦”£¬¶Ô²ÎÊýµÄÓÐЧÐÔ½øÐмì²é
ÔÚº¯ÊýÌåµÄ“³ö¿Ú´¦”£¬¶ÔreturnÓï¾äµÄÕýÈ·ÐÔºÍЧÂʽøÐмì²é
3. ÒýÓõÄһЩ¹æÔòÈçÏ£º
£¨1£©ÒýÓñ»´´½¨µÄͬʱ±ØÐë±»³õʼ»¯£¨Ö¸ÕëÔò¿ÉÒÔÔÚÈκÎʱºò±»³õʼ»¯£©¡£
£¨2£©²»ÄÜÓÐNULLÒýÓã¬ÒýÓñØÐëÓëºÏ·¨µÄ´æ´¢µ¥Ôª¹ØÁª£¨Ö¸ÕëÔò¿ÉÒÔÊÇNULL£©¡£
£¨3£©Ò»µ©ÒýÓñ»³õʼ»¯£¬¾Í²»ÄܸıäÒýÓõĹØϵ£¨Ö¸ÕëÔò¿ÉÒÔËæʱ¸Ä±äËùÖ¸µÄ¶ÔÏ󣩡£
4. ÄÚ´æ·ÖÅ䷽ʽÓÐÈýÖÖ£º
£¨1)´Ó¾²Ì¬´æ´¢ÇøÓò·ÖÅä¡£ÄÚ´æÔÚ³ÌÐò±àÒëµÄʱºò¾ÍÒѾ·ÖÅäºÃ£¬Õâ¿éÄÚ´æÔÚ³ÌÐòµÄÕû¸öÔËÐÐÆڼ䶼´æÔÚ¡£ÀýÈçÈ«¾Ö±äÁ¿£¬static±äÁ¿¡£
£¨2)ÔÚÕ»ÉÏ´´½¨¡£ÔÚÖ´Ðк¯Êýʱ£¬º¯ÊýÄÚ¾Ö²¿±äÁ¿µÄ´æ´¢µ¥Ôª¶¼¿ÉÒÔÔÚÕ»ÉÏ´´½¨£¬º¯ÊýÖ´ÐнáÊøʱÕâЩ´æ´¢µ¥Ôª×Ô¶¯±»ÊÍ·Å¡£Õ»ÄÚ´æ·ÖÅäÔËËãÄÚ Öà ÓÚ´¦ÀíÆ÷µÄÖ¸ÁÖУ¬Ð§Âʺܸߣ¬µ«ÊÇ·ÖÅäµÄÄÚ´æÈÝÁ¿ÓÐÏÞ¡£
£¨3)´Ó¶ÑÉÏ·ÖÅ䣬Òà³Æ¶¯Ì¬ÄÚ´æ·ÖÅä¡£³ÌÐòÔÚÔËÐеÄʱºòÓÃmalloc»ònewÉêÇëÈÎÒâ¶àÉÙµÄÄڴ棬³ÌÐòÔ±×Ô¼º¸ºÔðÔÚºÎʱÓÃfree»òdeleteÊÍ·ÅÄÚ´æ¡£¶¯ ̬ÄÚ´æµÄÉú´æÆÚÓÉÎÒÃǾö¶¨£¬Ê¹Ó÷dz£Áé»î£¬µ«ÎÊÌâÒ²×î¶à¡£
5. ÖØÔØ ¸²¸Ç Òþ²Ø
³ÉÔ±º¯Êý±»ÖØÔصÄÌØÕ÷£º
£¨1£©ÏàͬµÄ·¶Î§£¨ÔÚͬһ¸öÀàÖУ©£»
£¨2£©º¯ÊýÃû×ÖÏàͬ£»
£¨3£©²ÎÊý²»Í¬£»
£¨4£©virtual¹Ø¼ü×Ö¿ÉÓпÉÎÞ¡£
¸²¸ÇÊÇÖ¸ÅÉÉúÀຯÊý¸²¸Ç»ùÀຯÊý£¬ÌØÕ÷ÊÇ£º
£¨1£©²»Í¬µÄ·¶Î§£¨·Ö±ðλÓÚÅÉÉúÀàÓë»ùÀࣩ£»
£¨2£©º¯ÊýÃû×ÖÏàͬ£»
£¨3£©²ÎÊýÏàͬ£»
£¨4£©»ùÀຯÊý±ØÐëÓÐvirtual¹Ø¼ü×Ö¡£
Èç¹ûÅÉÉúÀàµÄº¯ÊýÓë»ùÀàµÄº¯ÊýͬÃû£¬µ«ÊDzÎÊý²»Í¬¡£´Ëʱ£¬²»ÂÛÓÐÎÞvirtual¹Ø¼ü×Ö£¬»ùÀàµÄº¯Êý½«±»Òþ²Ø£¨×¢Òâ±ðÓëÖØÔØ»ìÏý£©
Èç¹ûÅÉÉúÀàµÄº¯ÊýÓë»ùÀàµÄº¯ÊýͬÃû£¬²¢ÇÒ²ÎÊýÒ²Ïàͬ£¬µ«ÊÇ»ùÀຯÊýûÓÐvirtual¹Ø¼ü×Ö¡£´Ëʱ£¬»ùÀàµÄº¯Êý±»Òþ²Ø£¨×¢Òâ±ðÓ븲¸Ç»ìÏý£©¡£
Ïà¹ØÎĵµ£º
pFn¡¡t1(void);
pFn¡¡t2(void);
int main()
{
¡¡¡¡pFn fn = t1 ;
¡¡¡¡while(1){
¡¡¡¡¡¡¡¡fn = fn();¡¡¡¡//Õâ¸ö£¬´ó¼Ò¿´Çå³þÁË
¡¡¡¡}
}
pFn¡¡t1()
{
¡¡¡¡printf("t1\n");
¡¡¡¡return t2 ;
}
pFn¡¡t2()
{
¡¡¡¡printf("t2\n");
¡¡¡¡return t1 ;
}
ÇëÎÊ£¬Ïëͨ¹ý±àÒ룬pFnº¯ÊýÖ¸ÕëÀàÐÍ ......
1. ±äÁ¿²»×ö³õʼ»¯¡£
2. ·ÖÅäµÄ¶ÔÏó²»×öÏú»Ù¡£Ò»¸öºÃµÄÏ°¹ß¾ÍÊÇ£¬Ã¿Éú³ÉÒ»¸öÀàʱ£¬¾Í×Ô¶¯Ð´Ò»¸ö×Ô¼ºµÄInitInstanceMember,ºÍ ReleaseInstanceMember()·½·¨¡£
3. °üµÄ·ÖÀ࣬Èç¹û×Ô¼º²»×ösourceµÄÂß¼·ÖÀ࣬C++»·¾³Ò»°ãÊDz»»á×Ô¼º×öµÄ¡£Õâ¸ö¸úJavaÖеÄpackageºÍÎļþÎïÀíÉÏ´æ´¢·½Ê½Ò»ÖÂÊDz»Ò»ÑùµÄ¡£
C++ ......
ÄÚÈÝÕªÒª£º±¾ÎÄÏêϸϵͳµØ½éÉÜÁËuC/OS-IIÔÚ51µ¥Æ¬»úÉϵÄÒÆÖ²¡¢ÖØÈëʵÏÖ·½·¨¡¢Ó²¼þ·ÂÕæ¡¢¹Ì»¯¡¢ÈË»ú½çÃæµÈ¹Ø¼üÄÚÈÝ¡£
¹Ø¼ü´Ê£ºÇ¶Èëʽʵʱ¶àÈÎÎñ²Ù×÷ϵͳ¡¢uC/OS-II¡¢C51
ÒýÑÔ£º
Ëæן÷ÖÖÓ¦Óõç×ÓϵͳµÄ¸´ÔÓ»¯ºÍϵͳʵʱÐÔÐèÇóµÄÌá¸ß£¬²¢°éËæÓ¦ÓÃÈí¼þ³¯×Åϵͳ»¯·½Ïò·¢Õ¹µÄ¼ÓËÙ£¬ÔÚ16λ/32λµ¥Æ¬»úÖÐ¹ã·ºÊ¹Ó ......
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌص㣨±»ÊÀÈ˳ÆΪ“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾ ......
ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë:
#ifdef __cplusplus
extern "C" {
#endif
//Ò»¶Î´úÂë
#ifdef __cplusplus
}
#endif
ÕâÑùµÄ´úÂëµ½µ×ÊÇʲôÒâ˼ÄØ£¿Ê×ÏÈ£¬__cplusplusÊÇcppÖеÄ×Ô¶¨Òåºê£¬ÄÇô¶¨ÒåÁËÕâ¸öºêµÄ»°±íʾÕâÊÇÒ»¶ÎcppµÄ´úÂ룬Ҳ¾ÍÊÇ˵£¬ÉÏÃæµÄ´úÂëµÄº ......