| ÂÛ̳ע²á| ¼ÓÈëÊÕ²Ø | ÉèΪÊ×Ò³| RSS
Google
Äúµ±Ç°µÄλÖãºÊ×Ò³ > LinuxƵµÀ > Linux¿ª·¢Çø > Èí¼þ¿ª·¢

C++×Ô¶¯»¯(Ä£°åÔª)±à³Ì»ù´¡ÓëÓ¦ÓÃ

ʱ¼ä£º2006-06-16 11:29:29  À´Ô´£ºÖйúITʵÑéÊÒ  ×÷ÕߣºLinuxÁªÃËÊÕ¼¯
vDTLinuxÁªÃË
                template struct LOOP_BODYvDTLinuxÁªÃË
                {vDTLinuxÁªÃË
                        static void execute()vDTLinuxÁªÃË
                        {vDTLinuxÁªÃË
                                LOOP_BODYstart)>::execute();vDTLinuxÁªÃË
                                Function::execute();vDTLinuxÁªÃË
                        }vDTLinuxÁªÃË
                        //ÏÂÃæµÄÕâ¸öÄ£°åº¯ÊýÊÇΪÁËÄܹ»ÊµÏÖ¾²Ì¬´úÂëºÍ¶¯Ì¬´úÂëÁ¬½ÓvDTLinuxÁªÃË
                        template vDTLinuxÁªÃË
                        static void execute(EnvironmentType&e)vDTLinuxÁªÃË
                        {vDTLinuxÁªÃË
                                LOOP_BODYstart)>::execute(e);vDTLinuxÁªÃË
                                Function::execute(e);vDTLinuxÁªÃË
                        }vDTLinuxÁªÃË
                };vDTLinuxÁªÃË
                //Ñ­»·µÄÖÕÖ¹Óï¾ä£¬Í£Ö¹µÝ¹éÒÔ½áÊøÑ­»·vDTLinuxÁªÃË
                template struct LOOP_BODYvDTLinuxÁªÃË
                {vDTLinuxÁªÃË
                        static void execute(){}vDTLinuxÁªÃË
                        //ÏÂÃæµÄÕâ¸öÄ£°åº¯ÊýÊÇΪÁËÄܹ»ÊµÏÖ¾²Ì¬´úÂëºÍ¶¯Ì¬´úÂëÁ¬½ÓvDTLinuxÁªÃË
                        template vDTLinuxÁªÃË
                        static void execute(EnvironmentType&e){}vDTLinuxÁªÃË
                };vDTLinuxÁªÃË
        };vDTLinuxÁªÃË
        //ΪÁËÄ£°å»¯±ØÐ뽫ԭÀ´µÄÊä³öº¯Êý×ö³ÉÒ»¸öÄ£°å½á¹¹ÌåvDTLinuxÁªÃË
        //template struct FunctionvDTLinuxÁªÃË
        //{vDTLinuxÁªÃË
        //      static void execute()vDTLinuxÁªÃË
        //      {vDTLinuxÁªÃË
        //              //ÄãµÄ´úÂëÔÚÕâÀï±àдvDTLinuxÁªÃË
        //      }vDTLinuxÁªÃË
        //};vDTLinuxÁªÃË
        //////////////////////////////////////////////////////////////////////vDTLinuxÁªÃË
        //////////////////////////////////////////////////////////////////////vDTLinuxÁªÃË
        //consµÄʵÏÖ£¬²ÉÓúÍSTLÀàËÆµÄÀàÐÍÃüÃû·½Ê½vDTLinuxÁªÃË
        template vDTLinuxÁªÃË
        struct consvDTLinuxÁªÃË
        {vDTLinuxÁªÃË
                typedef FirstType  first_type;vDTLinuxÁªÃË
                typedef SecondType second_type;vDTLinuxÁªÃË
        };vDTLinuxÁªÃË
        struct null_type;//ÀàÐÍ´®ÖÕ½á·ûvDTLinuxÁªÃË
        //ÏÂÃæÊÇÁ½¸öΪÁËʵÏÖ¾²Ì¬ÀàÐÍÑ­»·ËùÐèÒªµÄ¾²Ì¬Ôªº¯ÊývDTLinuxÁªÃË
        //lengthÔªº¯ÊýµÄʵÏÖvDTLinuxÁªÃË
        templatestruct length;vDTLinuxÁªÃË
        template<>struct lengthvDTLinuxÁªÃË
        {//·µ»ØÖµÎªÕûÊý£¬ÃüÃûΪvaluevDTLinuxÁªÃË
                enum{value=0};vDTLinuxÁªÃË
        };vDTLinuxÁªÃË
        templatevDTLinuxÁªÃË
        struct length >vDTLinuxÁªÃË
        {//·µ»ØÖµÎªÕûÊý£¬ÃüÃûΪvaluevDTLinuxÁªÃË
                enum{value=1+length::value};vDTLinuxÁªÃË
        };vDTLinuxÁªÃË
        //typeÔªº¯ÊýµÄʵÏÖvDTLinuxÁªÃË
        templatestruct type;vDTLinuxÁªÃË
        templatevDTLinuxÁªÃË
        struct type,0>vDTLinuxÁªÃË
        {//·µ»ØÖµÎªÀàÐÍ£¬ÃüÃûΪresultvDTLinuxÁªÃË
                typedef FirstType result;vDTLinuxÁªÃË
        };vDTLinuxÁªÃË
        templatevDTLinuxÁªÃË
        struct type,i>vDTLinuxÁªÃË
        {//·µ»ØÖµÎªÀàÐÍ£¬ÃüÃûΪresultvDTLinuxÁªÃË
                typedef typename type::result result;vDTLinuxÁªÃË
        };vDTLinuxÁªÃË
        //////////////////////////////////////////////////////////////////////vDTLinuxÁªÃË
}//namespace pandaxcl{vDTLinuxÁªÃË
#endif//CODE_NOTEvDTLinuxÁªÃË
#if 0vDTLinuxÁªÃË
vDTLinuxÁªÃË
    ´ÓÉÏÃæµÄmeta.hÎļþÖÐÎÒÃÇ»¹¿ÉÒÔ¿´³ö£¬LOOP¾²Ì¬Ñ­»·´úÂëÀïÃæ±ÈǰһƪÎÄÕÂÖеÄvDTLinuxÁªÃË
LOOPÑ­»·¶àÁËһЩ¶îÍâµÄ´úÂ룬ÕâÊÇΪÁËÄܹ»ÊµÏÖ¾²Ì¬´úÂëºÍ¶¯Ì¬´úÂëµÄÁ¬½ÓµÄ£¬ÕâÖÖÁ¬vDTLinuxÁªÃË
½Óͨ³£ÊÇͨ¹ýº¯Êý²ÎÊýµÄÐÎʽʵÏֵġ£vDTLinuxÁªÃË

#if 0vDTLinuxÁªÃË
vDTLinuxÁªÃË
ÕâÒ»Õ£¬ÎÒÃǽ«Òª¿ªÊ¼µÄÌÖÂÛC++ÀïÃæµÄ´úÂëÉú³É¼¼Êõ¡£ËµÆð´úÂëÉú³É¼¼Êõ£¬Êµ¼ÊÉÏÕâvDTLinuxÁªÃË
²¢²»ÊÇC++µÄרÀû£¬×÷ΪC++×Ó¼¯µÄCÓïÑÔÔç¾ÍÒѾ­Ê¹ÓÃÁËÒ»¶¨µÄ´úÂëÉú³É¼¼Êõ£¬Õâ¾ÍÊÇCºêvDTLinuxÁªÃË
¡£ÎÒÏëCºê´ó¼ÒÓ¦¸Ã·Ç³£ÊìϤÁ˰ɣ¬ÌرðÊÇÄܹ»ÊµÏÖ´ø²ÎÊýµÄºêʹµÃ´óÁ¿µÄ¿âÀûÓÃÕâÖÖ¼¼ÊõvDTLinuxÁªÃË
À´Éú³ÉÄÇЩ¸ñÊ½ÖØ¸´µÄ´úÂ룬ÀýÈ磺΢ÈíµÄMFC¿â£¬¿çƽ̨µÄGUI¿âwxWidget£¬Boost¿âµÈµÈvDTLinuxÁªÃË
¶¼Ê¹ÓÃÁËCºê¡£ËäÈ»CºêÔÚÕâЩ¿âÀïÃæ°çÑÝÁ˷dz£ÖØÒªµÄ½ÇÉ«£¬²¢ÇÒÈÔ½«°çÑݷdz£ÖØÒªµÄ½ÇvDTLinuxÁªÃË
É«£¬µ«ÊÇÒ²²»µÃ²»Ëµ£ºCºê´æÔÚןܴóµÄÎÊÌâ¡£×î»ù´¡µÄ¾ÍÊÇÀàÐͲ»°²È«ÐÔ£¬ÕâÒ²ÊÇC++ÀïvDTLinuxÁªÃË
Ãæ³öÏÖÄ£°åÓïËØµÄÒ»¸ö±È½ÏÖØÒªµÄÔ­Òò¡£¸üÖØÒªµÄÊÇʹÓÃCºêÉú³ÉµÄ´úÂë½ö½öÖ»ÊÇʵÏÖÁ˼òvDTLinuxÁªÃË
µ¥µÄ¸ñʽÌî¿ÕÄÜÁ¦£¬²¢²»Äܱí´ïÌØ¶¨µÄËã·¨¡£ÕýÊÇCºêµÄ±í´ïÉè¼ÆË¼ÏëµÄ²»×ãÏÞÖÆÁËCºêµÄvDTLinuxÁªÃË
ʹÓ÷¶Î§¡£vDTLinuxÁªÃË
vDTLinuxÁªÃË
˵ÆðC++Ä£°åµÄ´úÂëÉú³ÉÄÜÁ¦£¬ËµÆðÀ´ÕâÒ²ÊÇÒ»ÖÖÇɺϣ¬×Ô´Ó90Äê´ú³õÆÚµÚÒ»¸öC++Ä£vDTLinuxÁªÃË
°åÔª³ÌÐò£¨ÓÃÀ´ÔÚ±àÒëÆÚÊä³öÖÊÊý£©±»·¢ÏÖÒÔÀ´£¬C++ÃÔÃǶÔÄ£°åÔª³ÌÐòµÄÑо¿¾ÍÈÈÄÖÆðÀ´vDTLinuxÁªÃË
ÁË£¬²¢³öÏÖÁË´óÁ¿µÄ¹ØÓÚC++Ä£°åÔª³ÌÐòµÄÎÄÏס£ÔÚÕâÀïÎÒËù½éÉܵÄÄ£°åÔª´úÂëÉú³É¼¼ÊõÖ÷vDTLinuxÁªÃË
Òª²Î¿¼ÁË<>Ò»ÊéµÄGenScatterHierarchy½á¹¹£¬²¢¶ÔÕâÖֽṹ½øÐÐÁËvDTLinuxÁªÃË
À©Õ¹Ó¦Ó㬲ÉÓÃÁËÇ°ÃæµÄLOOP¾²Ì¬Ñ­»·ÊµÏÖ¶ÔÕâÖֽṹÉú³ÉµÄ´úÂëµÄ²Ù×÷£¬´Ó¶øÍê³ÉÁËÒ»vDTLinuxÁªÃË
¸öC++ÆÕͨÀàµÄ×Ô¶¯Éú³É¹ý³Ì¡£ËùνµÄC++ÆÕͨÀàÖ¸µÄÊÇÒ»°ãµÄÊÖ¹¤Ö±½Ó±àдµÄÒ»¸öÀ࣬ÕâvDTLinuxÁªÃË
ÖÖÀàͨ³£°üº¬³ÉÔ±±äÁ¿£¬Éú³É³ÉÔ±±äÁ¿µÄ¹ý³Ì¿ÉÒÔÓÉGenScatterHierarchy½á¹¹Íê³É£¬µ«ÊÇvDTLinuxÁªÃË
½ö½öÓÐÁ˳ÉÔ±±äÁ¿»¹²»ÄܳÉΪһ¸öC++À࣬»òÐí³ÉΪ½á¹¹Ìå¸üºÏÊÊ£»ÁíÍâÆÕͨÀàÒ»°ã»¹°üº¬vDTLinuxÁªÃË
Á˳ÉÔ±º¯Êý£¬ÕâÖÖ³ÉÔ±º¯ÊýµÄ×Ô¶¯Éú³É¾Í²»ÄÜͨ¹ýLoki¿âÀ´ÊµÏÖ×Ô¶¯Éú³ÉÁË£¬ËäÈ»Loki¿âvDTLinuxÁªÃË
µÄGenLinearHierarchy½á¹¹¿ÉÒÔÉú³Éº¯Êý½Ó¿Ú£¬µ«ÊǺ¯ÊýÌåÀïÃæµÄÄÚÈݾͲ»Äܹ»ËæÐÄËùÓûvDTLinuxÁªÃË
µÄ±àдÁË¡£ÕâºóÃæµÄÒ»µãÕýÊÇÔÚ±¾ÎÄÖн«Òª½øÐÐÏêϸÌÖÂ۵ġ£vDTLinuxÁªÃË
vDTLinuxÁªÃË
ºÃÁË£¬ÏÖÔÚÎÒÃÇÀ´·ÖÎöÇ°ÃæµÄÕ½ÚÖнéÉܵÄÄ£°åÔª¼¼ÊõÖÐÒѾ­Ô̺­µÄ´úÂëÉú³É¼¼Êõ¡£vDTLinuxÁªÃË
ʵ¼ÊÉÏLOOP¾²Ì¬Ñ­»·ÖÐÒѾ­ÊµÏÖÁ˾²Ì¬º¯ÊýµÄ×Ô¶¯Éú³É£¬Ò²¾ÍÊÇ˵£¬±àÒëÆ÷ÔÚ±àÒëµÄʱºòvDTLinuxÁªÃË
ȷȷʵʵÊÇ¿´µ½ÁËÑ­»·Ëù²úÉúµÄËùÓеľ²Ì¬º¯Êý£¬¶ø²¢²»ÊÇÔËÐеÄʱºò½øÐеĺ¯ÊýµÝ¹éµ÷ÓÃvDTLinuxÁªÃË
¡
 5/11   |‹ ‹‹ 3 4 5 6 7 8 ›› ›|

À´¶¥Ò»ÏÂ
½ü»ØÊ×Ò³
·µ»ØÊ×Ò³
·¢±íÆÀÂÛ ¹²ÓÐÌõÆÀÂÛ
Óû§Ãû: ÃÜÂë:
ÑéÖ¤Âë: ÄäÃû·¢±í
Ïà¹ØÎÄÕÂ
    ÎÞÏà¹ØÐÅÏ¢
À¸Ä¿¸üÐÂ
À¸Ä¿ÈÈÃÅ