C/C++Ö¸Õë
×î½ü¹¤×÷²»½ô£¬³é¿Õ¿´ÁËÏÂC¡¢C++µÄÖ¸Õ룬·¢ÏÖÁËһЩƽʱûעÒâµ½µÄÖ¸ÕëÓ÷¨ºÍÎÊÌâ¡£
1¡¢Ö¸ÕëÒýÓÃ
void func1£¨MYCLASS* &pBuildingElement£©£»
Õ§Ò»¿´£¬¹Ö¹ÖµÄ£¬¿´ÁËϽâÊÍ£¬Ï¸ÏëһϺÍÖ¸ÕëµÄÖ¸ÕëÀàËÆ£º
void func1£¨MYCLASS** pBuildingElement£©£»
¿´ÏÂÃæµÄÀý×Ó£º
...
MyClass* p = new MyClass;
func1(p);
...
func1µÄ¶¨ÒåÈçÏ£º
void func1(MyClass* pMyClass)
{
...
pMyClass = //ÆäËû¶ÔÏóµÄÖ¸Õë
...
}
µÚ¶þÌõÓï¾äfunc1(p);ÔÚº¯Êý¹ý³ÌÖÐÖ»ÐÞ¸ÄÁËpMyClassµÄÖµ¡£²¢Ã»ÓÐÐ޸ĵ÷ÓÃÕߵıäÁ¿pµÄÖµ¡£¼ÙÉèÒªÔÚfunc1ÖÐÐÞ¸ÄpµÄÖµ£¬ÏÖÔÚ¾ÍÓÐÁ½ÖÖ·½·¨£ºÒ»ÊÇÀûÓÃÖ¸ÕëµÄÖ¸Õ룬¶þÊÇÀûÓÃÖ¸ÕëµÄÒýÓá£
ÒÔÉÏ´úÂë¿ÉÐÞ¸ÄΪ£º
//Ö¸ÕëµÄÖ¸Õë
...
MyClass* p = NULL;
func1(&p);
...
func1µÄ¶¨ÒåÈçÏ£º
void func1(MyClass** pMyClass)
{
...
*pMyClass = new MyClass;
...
}
//Ö¸ÕëµÄÒýÓÃ
...
MyClass* p = NULL;
func1(p);
...
func1µÄ¶¨ÒåÈçÏ£º
void func1(MyClass* &pMyClass)
{
...
pMyClass = new MyClass;
...
}
Æäʵ£¬ËüºÍÇ°ÃæÖ¸ÕëµÄÖ¸ÕëÊÇÒ»ÂëÊ£¬Ö»ÊÇÓï·¨ÓÐËù²»Í¬¡£´«µÝµÄʱºò²»Óô«pµÄµØÖ·£¬¶øÊÇÖ±½Ó´«p±¾Éí¡£
ÖÁÓÚ˵ʲô³¡ºÏҪʹÓÃÕâÖÖ·½·¨£¬ÎÒ»á˵£¬¼«ÉÙ¡£MFCÔÚÆä¼¯ºÏÀàÖÐÓõ½ÁËËü--ÀýÈ磬CObList£¬ËüÊÇÒ»¸öCobjectsÖ¸ÕëÁÐ±í¡£
Class CObList : public Cobject
{
……
// »ñÈ¡/ÐÞ¸ÄÖ¸¶¨Î»ÖõÄÔªËØ
Cobject*& GetAt£¨POSITION position£©£»
Cobject* GetAt£¨POSITION position£© const£»
}£»
ÕâÀïÓÐÁ½¸öGetAtº¯Êý£¬¹¦Äܶ¼ÊÇ»ñÈ¡¸ø¶¨Î»ÖõÄÔªËØ¡£Çø±ðºÎÔÚÄØ£¿
2¡¢Êý¾ÝÖ¸Õë
³£¹æÊý¾ÝÖ¸ÕëºÍ³ÉÔ±Êý¾ÝÖ¸Õë
ÕâÀïÖ÷񻃾¼°³ÉÔ±Êý¾ÝÖ¸ÕëµÄÄÚÈÝ¡£
struct MyStruct{
int value;
int key;
}
struct MyStruct me;
struct MyStruct* pMe;
¶¨Òå³ÉÔ±Êý¾ÝÖ¸Õë:
int MyStruct::* pMV = &MyStruct::value;
int MyStruct::* pMK = &MyStruct::key;
ÕâÖÖÖ¸ÕëµÄÓÃ;ÊÇÓÃÓÚÈ¡µÃ½á¹¹³ÉÔ±ÔڽṹÄڵĵØÖ·¡£ÎÒÃÇ¿ÉÒÔͨ¹ý¸ÃÖ¸ÕëÀ´·ÃÎʳÉÔ±Êý¾Ý£º
int value = pMe->*pMV; // È¡µÃpMeµÄvalue³ÉÔ±Êý¾Ý¡£
int key = me.*pMK; // È¡µÃmeµÄkey³ÉÔ±Êý¾Ý¡£
ÄÇô£¬ÔÚʲô³¡ºÏÏ»áʹÓõ½³ÉÔ±Êý¾ÝÖ¸ÕëÄØ£¿
ȷʵ£¬³ÉÔ±Ö¸Õë±¾À´¾Í²»ÊÇÒ»Öֺܳ£ÓõÄÖ¸Õë¡
Ïà¹ØÎĵµ£º
http://www.trendcaller.com/2009/05/hadoop-should-target-cllvm-not-java.html
Sunday, May 10, 2009
Hadoop should target C++/LLVM, not Java (because of watts)
< type="text/javascript">
digg_url="http://www.trendcaller.com/2009/05/hadoop-should-target-cllvm-not-java.html";
Over the years, ......
±³¾°
ÏîÄ¿µÄ
×Ô¶¯»¯²âÊÔÖÐÒѾʹÓÃÁË»ùÓÚPython
½Å±¾µÄ¿ò¼Ü£¬×Ô¶¯»¯¹ý³ÌÖÐ×î¹Ø¼üµÄÎÊÌâ¾ÍÊÇÈçºÎʵÏÖ׮ģ¿é¡£ÔËÓÃ
Python
Ç¿´óµÄ¹¦ÄÜ£¬ÊµÏÖÈκÎ׮ģ¿é¶¼ÊÇ¿ÉÄܵ쬵«ÊÇÊÇ·ñ±ØÐëÍêȫʹÓÃ
Python
ʵÏÖÄ£¿éÂß¼£¬³É±¾ÊÇÒ»¸ö¾ö¶¨ÐÔÒòËØ¡£ÔÚ׮ģ¿éÂß¼¼òµ¥µÄÇé¿öÏ£¬Ê¹ÓÃ
Python
Ä£ÄâÄ£¿éÂß¼²»µ«Ê¹×Ô¶¯»¯²âÊԵĽṹÇå ......
1.´ò¿ª“ÎҵĵçÄÔ”-“¹¤¾ß”-“Îļþ¼ÐÑ¡Ïî”-“²é¿´”-ÔÚ“ÏÔʾËùÓÐÎļþºÍÎļþ¼Ð”Ñ¡Ïîǰ´ò¹´-“È·¶¨”
2.ɾ³ýÒÔÏÂÎļþ¼ÐÖеÄÄÚÈÝ£º
x:\\Documents and Settings\\Óû§Ãû\\Cookies\\ϵÄËùÓÐÎļþ(±£ÁôindexÎļþ)
x:\\Documents and S ......
1. ´´½¨ÀàÐÍΪWin-32 Static LibraryµÄ¹¤³Ì£º
£¨1£©Ìîд¹¤³ÌÃû³Æ£¬¹¤³ÌÃû³Æ²»ÓëÒѾ´æÔÚ¿âÃûÏàͬ¼´¿É£¬Èçmylib£»
£¨2£©Ä¬ÈÏÅäÖã¬Ö±½Óµã»÷Íê³É¡¢È·¶¨£»
£¨3£©ÔÚÕâ¸ö¹¤³ÌÏÂн¨Ò»¸öÀàÐÍΪC/C++ Header FileµÄÎļþ£¬ÎļþÃûΪliwenying.h£»
£¨4£©ÔÚliwenying.hÏÂÃæÊäÈë´úÂë
......
²Ëµ¥ºÍ¼ÓËÙ¼üÃÜÇеØÁªÏµÔÚÒ»Æð¡£ÕâÁ½ÖÖ×ÊÔ´ÀàÐÍÁªÊÖÐ×÷£¬ÈÃÓû§ÄܸüÈÝÒ×µØÍê³ÉÈÎÎñ¡£´ó¼Ò¶¼ÖªµÀ²Ëµ¥ÊÇʲô——ËüÊÇ·Ö²ãÃüÁî½á¹¹µÄÎïÀí±íʾ¡£¼ÓËÙ¼üÌṩ¸Ã½á¹¹µÄ¿ì½Ý·½Ê½£¬ÒÔÌá¸ßÓû§²Ù×÷µÄËÙ¶È¡£ÀýÈ磬Ҫ´´½¨Ò»¸öÐÂÎļþ£¬Í¨³£ÓÃFile | New£¨Îļþ|н¨£©ÃüÁî»òCTRL-N¼ÓËÙ¼ü£¬Á½ÖÖ·½·¨¿ÉÒÔ²úÉúÏàͬµÄ½á¹û¡£
Visua ......