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, ......
½ñÌìͻȻÏëµ½B/S½á¹¹ÀwebformÊÇÎÞ·¨È¡µÃ¿Í»§¶ËµÄMACµØÖ·ºÍÓ²¼þÐÅÏ¢µÄ£¬¾ÍÍ»·¢ÆæÏ룬ÓÃC/S½á¹¹£¬µ«ÊÇÒòΪC/S½á¹¹µÄºÜ¶àµÄ¶«Î÷²»Äܶ¯Ì¬£¬¾Í¿¼Âǵ½ÁËC/B½á¹¹
×îºó¾ö¶¨ÓÃwebservice+ALC+C/B½á¹¹ £¬´î½¨ÎÒµÄOAϵͳ
ŬÁ¦ing ......
externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö´´Òâ²úÆ·Íø .
Ëü¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
1¡£¶ÔÓÚextern±äÁ¿À´Ëµ£¬½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå·ÖÅäÄÚ´æ¿Õ¼ä¡£Èç¹û¸Ã±äÁ¿¶¨Òå¶à´Î£¬»áÓÐÁ¬½Ó´íÎó
2¡£Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿é ......
(Ò»)ÕûÊý·ûºÅµÄÏÝÚå
(¶þ)¸¡µãÊýµÄ±¾ÖÊ
(Èý)¶ÑÕ»µÄÄÚ´æ¹ÜÀí½á¹¹
(ËÄ)·ûºÅ½âÎö
(Îå)¶ÔÆëºÍ×ÜÏß´íÎó
(Áù)º¯ÊýÖ¸Õë
(Æß)Ð麯ÊýµÄʵÏÖ»úÀí
(°Ë)ÒýÓõÄʵÏÖ»úÀí
(¾Å)ÐéÄâ¼Ì³Ð¶ÔÏóµÄÄÚ´æ½á¹¹
(Ê®)»ìºÏ±à³ÌʱµÄ³õʼ»¯Ë³Ðò
(ʮһ)Êý×éºÍÖ¸ÕëµÄÒìͬ ......
²Ëµ¥ºÍ¼ÓËÙ¼üÃÜÇеØÁªÏµÔÚÒ»Æð¡£ÕâÁ½ÖÖ×ÊÔ´ÀàÐÍÁªÊÖÐ×÷£¬ÈÃÓû§ÄܸüÈÝÒ×µØÍê³ÉÈÎÎñ¡£´ó¼Ò¶¼ÖªµÀ²Ëµ¥ÊÇʲô——ËüÊÇ·Ö²ãÃüÁî½á¹¹µÄÎïÀí±íʾ¡£¼ÓËÙ¼üÌṩ¸Ã½á¹¹µÄ¿ì½Ý·½Ê½£¬ÒÔÌá¸ßÓû§²Ù×÷µÄËٶȡ£ÀýÈ磬Ҫ´´½¨Ò»¸öÐÂÎļþ£¬Í¨³£ÓÃFile | New£¨Îļþ|н¨£©ÃüÁî»òCTRL-N¼ÓËÙ¼ü£¬Á½ÖÖ·½·¨¿ÉÒÔ²úÉúÏàͬµÄ½á¹û¡£
Visua ......