ʾÀý£ºÎï×ÊÔËÊäʹÃü
ÔÚÒ»¸öÎï×ÊÔËÊäʹÃüÖУ¬¶ą̀»úеÈËÐèÒªÐͬÊÂÇ飬½«Îï×Ê´ÓÒ»¸öÆðµãÔËÊäµ½¶à¸öÄ¿µÄµØ?¡£Ã¿¸ö»úеÈ˶¼ÓÐ×Ô¼ºµÄÐÐΪÊ÷£¬µ«ÐèÒª¹²ÏíÎï×ÊλÖúÍÄ¿µÄµØÐÅÏ¢£¬´Ó¶ø¶¯Ì¬µ÷½âÔËÊä·¾¶ºÍʹÃü·ÖÅÉ¡£
autoloadGoods=bt::ActionNode::Create("LoadGoods",(bt::Context&context){//×°ÔØÎï×ÊÂß¼returnbt::NodeStatus::SUCCESS;});autotransportToDestination=bt::ActionNode::Create("TransportToDestination",(bt::Context&context){//ÔËÊäÎï×ÊÂß¼returnbt::NodeStatus::SUCCESS;});autorobotTransportTree=bt::Sequence::Create("RobotTransportTree");robotTransportTree->AddChild(loadGoods);robotTransportTree->AddChild(transportToDestination);//·ÖÅÉÐÐΪÊ÷¸ø²î±ð»úеÈËfor(auto&robot:robots){robot->AddChild(robotTransportTree);}
1º¯Êý¹¤¾ß£¨Functors£©
º¯Êý¹¤¾ßÊÇSTLÖеÄÒ»¸öÖ÷Òª¿´·¨£¬Ò²³ÆÎª¡°º¯Êý¹¤¾ß¡±»ò¡°º¯ÊýÆ÷¡±¡£ËüÃÇÊÇʵÏָ߽׺¯ÊýµÄÖ÷Òª¹¤¾ß¡£
½¨ÉèºÍʹÓú¯Êý¹¤¾ß£º#includevoidmyFunction(){std::cout<<"Thisisafunctionobject."<func=myFunction;func();//ŲÓú¯Êý¹¤¾ßreturn0;}
ʲôÊÇBehaviorTree.cpp
BehaviorTree.cppÊÇÒ»ÖÖ»ùÓÚÐÐΪÊ÷µÄ±à?³Ì¿ò¼Ü£¬ÓÃÓÚ¹¹½¨ÖØ´óµÄ¾öÒéϵͳ¡£ÐÐΪÊ÷ÊÇÒ»ÖÖ¸ßЧµÄ¾öÒéͼÐλ¯ÌåÏÖÒªÁ죬ͨ¹ýÌõÀí»¯µÄ½Úµã½á¹¹£¬½«ÖØ´óµÄÐÐΪÆÊÎöΪ¼òÆÓµÄ¾öÒé?µ¥Î»£¬´Ó¶øÊµÏÖ¶ÔÖØ´óʹÃüµÄ×Ô¶¯»¯¿ØÖÆ¡£ËüµÄ½¹µãÍ·ÄÔÊÇͨ¹ý²î±ðÀàÐ͵Ľڵ㣨ÈçʹÃü½Úµã¡¢¿ØÖƽڵãµÈ£©×éºÏ£¬¹¹½¨³öÒ»¸ö¿ÉÒÔ¶¯Ì¬µ÷½âºÍÖ´ÐеÄÐÐΪÊ÷¡£
ÔÚÕâÆªÎÄÕÂÖУ¬ÎÒÃÇÏêϸÏÈÈÝÁËÔõÑùʹÓÃcpp¹Ù·½Èí¼þ¾ÙÐи߼¶±à?³Ì£¬°üÀ¨¸ß¼¶±à?ÒëÑ¡Ïî¡¢¶àÏ̱߳à³Ì¡¢¸ß¼¶µ÷ÊÔ¼¼ÇɺÍÒ»Á¬¼¯³É¡£Ï£ÍûÕâЩÐÅÏ¢Äܹ»×ÊÖúÄú¸üºÃµØÕÆÎÕcpp¹Ù·½Èí¼þ£¬Ìá¸ßÄúµÄ¿ª·¢Ð§ÂʺʹúÂëÖÊÁ¿¡£ÎÞÂÛÄúÊdzõѧÕßÕÕ¾É×ÊÉ·¢Õߣ¬ÕâЩ¹¤¾ßºÍ¼¼Çɶ¼½«ÎªÄúµÄ±à³ÌÖ®ÂÃÌṩǿÓÐÁ¦µÄÖ§³Ö¡£
ÓÅ»¯TermuxÇéÐÎ
ÔöÌíÄÚ´æºÍ´æ´¢¿Õ¼ä£ºÈ·±£°²×¿×°±¸ÓÐ×ã¹»µÄÄÚ´æºÍ´æ´¢¿Õ¼ä£¬ÒÔ±ãÔËÐÐÖØ´óµÄ±àÒëʹÃü¡£
×°Öøü¶à¿ª·¢¹¤¾ß£º³ýÁËC++±àÒëÆ÷£¬»¹¿ÉÒÔ×°ÖÃÆäËû¿ª·¢¹¤¾ß£¬ÀýÈçmake¡¢cmakeµÈ£¬ÒÔÌá¸ß¿ª·¢Ð§ÂÊ¡£
ʹÓøßЧµÄÎı¾±à¼Æ÷£ºÔÚTermuxÖÐʹÓøßЧµÄÎı¾±à¼Æ÷£¬ÀýÈçNano¡¢Vim»òÕßEmacs£¬¿ÉÒÔ´ó´óÌáÉý´úÂë±àдºÍµ÷ÊÔµÄЧÂÊ¡£
1ÃæÏò¹¤¾ß±à³Ì
C++ÊÇÒ»ÖÖÖ§³ÖÃæÏò¹¤¾ß±à³Ì£¨OOP£©µÄÓïÑÔ¡£ÃæÏò¹¤¾ß±à³ÌµÄ½¹µãÍ·ÄÔ°ü?À¨·â×°¡¢¼ÌÐøºÍ¶à̬¡£ÕâЩ¿´·¨Ê¹µÃ´úÂë¸ü¾ß¿É¶ÁÐԺͿÉά»¤ÐÔ¡£
·â×°£¨Encapsulation£©£º½«Êý¾ÝºÍ²Ù×÷ÕâЩÊý¾ÝµÄÒªÁì·ÅÔÚÒ»¸öÀࣨclass£©ÖУ¬Òþ²ØÀàµÄÄÚ²¿Ï¸½Ú£¬Ö»Ì»Â¶ÐëÒªµÄ½Ó¿Ú¡£¼ÌÐø£¨Inheritance£©£ºÒ»¸öÀà¿ÉÒÔ¼ÌÐøÁíÒ»¸öÀàµÄÊôÐÔºÍÒªÁ죬´Ó¶øÊµÏÖ´úÂëµÄÖØÓ᣶à̬£¨Polymorphism£©£ºÍ³Ò»¸ö½Ó¿Ú¿ÉÒÔÓвî±ðµÄʵÏÖ£¬Í¨¹ýÔËÐÐʱ¾öÒéŲÓÃÄĸöʵÏÖ¡£
ÏÂÔØ²¢×°ÖÃCode::Blocks¡£
sudoapt-getinstallcodeblocks
·¿ªCode::Blocks£¬Ñ¡Ôñ¡°Ð½¨ÏîÄ¿¡±£¬È»ºóÑ¡Ôñ¡°ConsoleApplication¡±¡£
ƾָ֤Òý½¨ÉèÒ»¸öеÄC++ÏîÄ¿£¬²¢?ÔÚ´úÂë±à¼Æ÷ÖÐÊäÈë´úÂë¡£
µã»÷¡°±àÒ롱ºÍ¡°ÔËÐС±°´Å¥À´±àÒëºÍÔËÐÐÄãµÄC++³ÌÐò¡£
Óû§Ðĵ÷ÖÏí
Óû§A£ºÕâ¿îÓ¦ÓÃÕæµÄ?Ì«°ôÁË£¡ÎÒ֮ǰÿ´Î¼ÓÈëÂþÕ¹¶¼ºÜÂÒ£¬¿ÉÊÇÓÐÁËÕâ¸öÓ¦Óã¬Ò»Çж¼±äµÃ¼òÆÓÁË£¬¹¥ÂԺͶ¯Ì¬¸üаïÎÒ×èÖ¹ÁËÐí¶àƶÀ§£¬»¹ÄÜºÍÆäËûÈ˽»Á÷ÂÄÀú¡£
Óû§B£ºÀÖÀÖ¹¦Ð§ÕæµÄÊÇÌ«ºÃÍæÁË£¬ÌØÊâÊʺϺÍÅóÙÒ»ÆðÍæ£¬ÉÐÓлú»á³éȡһЩСÀñÎï£¬ÕæÊdz¬µÈ°ô£¡
Óû§C£º¹ºÆ±¹¦Ð§ºÜÊÇÀû±ã£¬²»±ØÔÚÏÖ³¡ÅŶӣ¬»¹ÄÜÌáǰԤԼ£¬ÕæµÄÊÇʡʱʡÁ¦£¬ÔÙ¼ÓÉÏÉçÇø¹¦Ð§£¬ÎÒÒÔΪÕâ¿îÓ¦ÓÃÕæµÄÖµµÃÍÆ¼ö£¡
У¶Ô£ºÍõÄþ(f3J1ePQDlzHhwh44q38w4Ima2E3XrDq)



