Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

[C/C++ Digestion] – Rule of Three, ¸´ÖÆ¿ØÖÆ


[C/C++ Digestion] – Rule of Three,
¸´ÖÆ¿ØÖÆ
×÷Õߣº
Jason Lee @
http://blog.csdn.net/jasonblog
ÈÕÆÚ£º
2010-04-13
 
[1]
¸´Öƹ¹Ô캯Êý
copy constructor
Rule of Three
ÊÇÖ¸ÀàÈç¹ûÐèÒªÎö¹¹º¯Êý£¬Ôòͨ³£Ò²ÐèÒª¸´Öƹ¹Ô캯ÊýºÍ¸³Öµ²Ù×÷·û¡£¶øÆäʵϰ¹ßµØÏÔʾ±àдÕâÈýÕß±¾¾ÍÊÇÒ»¸öÁ¼ºÃµÄÏ°¹ß¡£ÒòΪÏà½ÏÓÚ±àÒëÆ÷×Ô¶¯Éú³ÉµÄ´úÂ룬ÏÔʾ±àд×Ô¼ºµÄ´úÂëÄÜÈóÌÐòÔ±¶ÔÕû¸ö³ÌÐòÓÐןüÇåÎúµÄÈÏʶºÍ°ÑÎÕ¡£
´ÓÐÎʽÉÏ˵£¬¸´Öƹ¹Ô캯Êý¾ßÓе¥¸ö±¾ÀàÐͶÔÏóÒýÓõÄÐβΣ¨Í¨³£ÓÃ
const
ÏÞ¶¨ÐÞÊΣ©£¬²¢ÇÒº¯ÊýÃûÓëÀàÃûÏàͬ£¬ÒòΪ¸´Öƹ¹Ô캯ÊýÒ²Êǹ¹Ô캯Êý¡£±ÈÈ磺
Demo(const Demo &demo){}

¸´Öƹ¹Ô캯Êý´ÓÐèÒªÉÏÀ´¿´ÓÐÁ½ÖÖÇé¿ö£¬Ò»ÊÇÓгÉÔ±ÔÚ¹¹Ô캯ÊýÖзÖÅä×ÊÔ´£¬±ÈÈçÖ¸Õë
ÊÇ×îµäÐ͵ÄÀý×Ó£»¶þÊÇÐèÒªÔÚ¸´Öƹý³Ì×öÌض¨¹¤×÷¡£
´Ó×÷Óó¡ºÏÀ´Ì¸£¬±¾ÖÊÉÏ¿ÉÒÔ¿´×öÊÇÖÁÉÙ´æÔÚÁ½¸ö¶ÔÏóµÄÇé¿öÏÂÐèÒª¸´Öƹ¹Ô캯Êý£¬ÒòΪÐèҪʹÓÃÆäÒ»À´¶ÔÆäËü¶ÔÏó½øÐгõʼ»¯¡£±ÈÈ磺
1.
¸ù¾ÝͬÀàÐͶÔÏó³õʼ»¯Ä³Ò»¶ÔÏó£»ÎÒ¸öÈ˾õµÃÔÚÕâÖÖÇé¿öÏ£¬ºÜÈÝÒ×ÊèºöµÄÒ»¸öϸ½ÚÖ®´¦ÊÇ£ºÒ»°ã£¬¶Ô¹¹Ô캯Êý±È½ÏÉúÊèµÄ³ÌÐòԱϰ¹ßµØ¶¨ÒåÒ»¸öĬÈϹ¹Ô캯Êýºó£¬²¢ÇÒÔÚÀïÃæ½øÐÐÖ¸ÕëËùÐè¿Õ¼äµÄ¿ª±ÙºÍ·ÖÅ䣬¾Í»áDZÒâʶµØÒÔΪÒÔºóÿ¸ö¸ÃÀà¶ÔÏó³õʼ»¯Ê±¶¼»áºÏÀíµØÊ×ÏȶÔÖ¸Õë³ÉÔ±½øÐÐÄÚ´æ·ÖÅ䣬Ȼ¶øȴûÓÐ×ã¹»Éî¿ÌµØÒâʶµ½Èç¹ûµ÷ÓÃÁ˸´Öƹ¹Ô캯Êý£¬Ôò²»»áµ÷ÓÃĬÈϺ¯Êý£º
#include <iostream>
using namespace std;
class Demo {
public:
Demo(){ p = new int(1); }
Demo(const Demo &demo){ *p = *demo.p; }//Ö¸Õëp²¢Î´±»·ÖÅä¿Õ¼ä
~Demo(){}
void setP(int v){ *p = v; }
void show(){ cout << *p << endl; }
private:
int *p;
};
int main(){//³ÌÐòÔËÐÐʱ³ö´í
Demo d1;
d1.setP(3);
Demo d2 = d1;//Ö»µ÷Óø´Öƹ¹Ô캯Êý£¬²¢Ã»Óе÷ÓÃĬÈϹ¹Ô캯Êý£¬ËùÒÔÖ¸ÕëδӵÓпռä
return 0;
}

2.
½«¶ÔÏó×÷ΪÆÕͨʵ²Î£»ÕâÖÖÇé¿ö×îÈÝÒ×ÓëÖµ´«µÝµÄÇé¿ö½øÐÐÁªÏ룺´«µÝµÄÊÇÓë±äÁ¿µÈÖµµÄÒ»¸öÁÙʱֵ£¬¶ø·Çͬһ¸ö±äÁ¿¡£Í¬ÑùµÄ£¬ÒÔ¶ÔÏó×÷ΪÆÕͨʵ²Î£¬Ò²ÐèÒª½¨Á¢Ò»¸öÁÙʱ¶ÔÏ󣬾ÍÐèÒªµ÷Óõ½¸´Öƹ¹Ô캯Êý¡£±ÈÈçÒÔÏÂÒ»¶ÎºÁÎÞÒâÒåµÄ´úÂ룺
3.
´Óº¯ÊýÖзµ»ØÒ»¸öÆÕͨ¶ÔÏó£»ÕâÖÖÇé¿öµÄµÀÀíÓëÉÏÒ»ÖÖÇé¿öÒ»Ñù£¬Á½ÖÖÇé¿ö¿ÉÒÔ³öÏÖÔÚÒ»¶Î´úÂëÖУº
Demo Test(Demo demo){
Demo temp;
return temp;
}

4.
Ïȵ÷Óù¹Ô캯Êý´´½¨Ò»¸öÁÙʱ¶ÔÏó£¬ÔÙµ÷Óø


Ïà¹ØÎĵµ£º

C»·¾³½«±äÁ¿¶¨Òåµ½RAM¾ø¶ÔµØÖ·Ö®ÉÏ


//À´Ô´²»Ïê
1. ¾ø¶Ôºê£º
ÔÚ³ÌÐòÖУ¬ÓÓ££include<absacc.h>”¼´¿ÉʹÓÃÆäÖж¨ÒåµÄºêÀ´·ÃÎʾø¶ÔµØÖ·£¬°üÀ¨CBYTE¡¢XBYTE¡¢PWORD¡¢DBYTE¡¢CWORD¡¢XWORD¡¢PBYTE¡¢DWORD
¾ßÌåʹÓÿɿ´Ò»¿´absacc.h±ãÖª£¬ÀýÈ磺
rval=CBYTE[0x0002];Ö¸Ïò³ÌÐò´æÖüÆ÷µÄ0002hµØÖ·
rval=XWORD[0x0002];Ö¸ÏòÍâRAMµÄ0002hµØÖ·
2 ......

×Ô¼º¶¯ÊÖдһ¸öÅжÏÍøÖ·ºÏ·¨µÄC\C++µÄÕýÔò±í´ïʽ³ÌÐò

#include<stdio.h>
#include<regex.h>
int main(int argc, char** argv)
{
if(IsLegalPage("http://www.baidu.com"))
printf("¸ÃÍøÒ³ºÏ·¨\n");
else printf("¸ÃÍøÒ³²»ºÏ·¨£¡£¡£¡\n");
return 0;
}
/* º¯Êý˵Ã÷£ºÅжÏÍøÒ³ÊÇ·ñºÏ·¨
* ÊäÈë²ÎÊý£ºÐèÒªÅжϵÄÍø ......

¶Á¡¶CºÍÖ¸Õë¡·±Ê¼ÇÕªÒª¡¾6¡¿

2010-04-09
µÚÊ®ÎåÕ    ÊäÈë/Êä³öº¯Êý
1¡¢´íÎ󱨸æ
perrorº¯Êý     void perror( char const *message);
2¡¢ÖÕÖ¹Ö´ÐÐ
void exit( int status );    Ô­ÐͶ¨ÒåÓÚstdlib.h
ÆäÖÐstatus²ÎÊý·µ»Ø¸ø²Ù×÷ϵͳ£¬ÓÃÓÚÌáʾ³ÌÐòÊÇ·ñÕý³£Íê³É£¬Õâ¸öÖµºÍmainº¯Êý·µ»ØµÄÕûÐÍ״̬ ......

ʹÓÃc#´´½¨sql serverµÄ´æ´¢¹ý³Ì_c#Ó¦ÓÃ1

½éÉÜ
ͨ³££¬Ñз¢ÈËԱʹÓõÄÊÇT-SQLÀ´´´½¨SQL ServerµÄ´æ´¢¹ý³Ì¡¢º¯ÊýºÍ´¥·¢Æ÷¡£ ¶øÏÖÔÚµÄSQL Server 2005ÒÑÍêÈ«Ö§³Ö.NETͨÓÃÓïÑÔÔËÐÐʱ£¨CLR£©ÁË¡£ Õâ¾ÍÒâζ×Å£¬ÄúÄܹ»Ê¹ÓÃ.NETµÄÓïÑÔ£¬ÈçC#¡¢VB.NETÖ®ÀàµÄÀ´Ñз¢SQL ServerµÄ´æ´¢¹ý³Ì¡¢º¯ÊýºÍ´¥·¢Æ÷¡£ SQL Server ºÍ CLR µÄ¼¯³É¸øÎÒÃÇ´øÀ´ÁËn¶àºÃ´¦£¬Èçʵʱ±àÒë¡¢ÀàÐÍ°²È«¡ ......

¾ö²ßÊ÷C4.5Ëã·¨Java´úÂë

    - ¼ÓÈë²ËÄñѧϰÍø£¬»ñµÃÕä²Ø×ÊÔ´

Java´úÂë Êý¾ÝÍÚ¾òÖоö²ßÊ÷C4.5Ô¤²âË㷨ʵÏÖ(°ë³ÉÆ·£¬»¹ÒªÐ´¹æÔòºó¼ôÖ¦¼°¶Ô·ÇÀëÉ¢Êý¾ÝÐÅÏ¢ÔöÒæ¼ÆËã) Java´úÂë package org.struct.decisiontree;   import java.util.ArrayList;   import java.util.Arrays; ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ