×î½üʵÔÚÊÇ̫æÁË£¬ÕâÆªÕûÕû¾ÍÍÆ³ÙÁË1¸öÔÂÁË£¬ÊµÔÚÊǶԲ»Æð¡£Ö®Ç°±¾´òËãÕâ¸öÄ£¿é¾Í½áÊøÁË£¬Îļþ²Ù×÷¾Í²»Ð´ÁË£¬µ«ÊÇÎļþ²Ù×÷ÓÖÊÇÒ»¸öºÜÖØÒªµÄ¶«Î÷£¬¶øÇÒÒ²¸ÕºÃÄܹ»×ܽá֮ǰÎÒÃÇѧϰµÄËùÓÐ֪ʶ¡£Í¬Ê±Ò²ÎªÁ˽«Îļþ²Ù×÷Õâ¸ö³õѧÕßÈÏΪºÜÉñÃØµÄ¶«Î÷¸ø±¾ÖÊ»¯¡£Òò´Ë£¬±¾Æª½«ÖðÒ»½éÉÜCÓïÑÔµÄÎļþ²Ù×÷¡££¨±¾Ä£¿éµÄÃüÃû±¾À´ÊÇÏëC\C++Ò»¿é¶ù½²½âµÄ£¬µ«ÊÇÓÉÓÚ¹¤×÷¡¢±ÏÒµÂÛÎÄ¡¢ÒµÓàʱ¼äµÄ³äµç¡¢»¹ÓÐÒªÍê³ÉÄǸöδ֪µÄÃεȣ¬Òò´ËÒòΪʱ¼äÎÊÌâC++¾ÍÖ»ÄÜ·ÅÔÚÒÔºóÓлú»áÔÙдÁË£¬Òò´Ë±¾Æª½«ÊDZ¾Ä£¿éµÄ×îºóһƪ£¬Ö®ºó½«²»»áÔÙÁ¬ÔØÁË£¬Çë´ó¼ÒÁ½⡣£©
ºÃÁË£¬»Øµ½ÕýÌ⣬ÏÈÀ´¿´Îļþ²Ù×÷ÖеÄÎļþ¡£ËùνÎļþ£¨file£©Ò»°ãÖ¸´æ´¢ÔÚÍⲿ½éÖÊÉÏÊý¾ÝµÄ¼¯ºÏ£¬±ÈÈçÎÒÃǾ³£Ê¹ÓõÄmp3¡¢mp4¡¢txt¡¢bmp¡¢jpg¡¢exe¡¢rmvbµÈµÈ¡£ÕâЩÎļþ¸÷Óи÷µÄÓÃ;£¬ÎÒÃÇͨ³£½«ËüÃÇ´æ·ÅÔÚ´ÅÅÌ»òÕß¿ÉÒÆ¶¯Å̵ȽéÖÊÖС£ÄÇô£¬ÎªÊ²Ã´ÕâÀïÃæÓÖÓÐÕâô¶àÖÖ¸ñʽµÄÎļþÄØ£¿ÔÒòºÜ¼òµ¥£¬ËüÃǸ÷Óи÷µÄÓÃ;£¬Çø·Ö¾ÍÔÚÓÚÕâЩÎļþÀïÃæ´æ·ÅµÄÊý¾Ý¼¯ºÏËù×ñѵĴ洢¹æÔò²»Ò»Ñù¡£¾Ù¸öÀý×Ó±ÈÈçbmpͼƬÎļþ£¬ÎªÊ²Ã´ËûÄܹ»±íʾһÕÅͼƬ£¬ÒòΪËüÓй̶¨µÄ¸ñʽ£¬ÄÄÒ»¶Îµ½ÄÄÒ»¶Î£¬ÄĸöÆ«ÒÆµ½ÄĸöÆ«ÒÆÓ¦¸Ã´æ·ÅʲôÊý¾ÝÊǹ涨ºÃÁ˵ġ£±ÈÈçÓÐÎļþÍ·£¬Ò»°ãÊÇÒ»¸ ......
×î½üʵÔÚÊÇ̫æÁË£¬ÕâÆªÕûÕû¾ÍÍÆ³ÙÁË1¸öÔÂÁË£¬ÊµÔÚÊǶԲ»Æð¡£Ö®Ç°±¾´òËãÕâ¸öÄ£¿é¾Í½áÊøÁË£¬Îļþ²Ù×÷¾Í²»Ð´ÁË£¬µ«ÊÇÎļþ²Ù×÷ÓÖÊÇÒ»¸öºÜÖØÒªµÄ¶«Î÷£¬¶øÇÒÒ²¸ÕºÃÄܹ»×ܽá֮ǰÎÒÃÇѧϰµÄËùÓÐ֪ʶ¡£Í¬Ê±Ò²ÎªÁ˽«Îļþ²Ù×÷Õâ¸ö³õѧÕßÈÏΪºÜÉñÃØµÄ¶«Î÷¸ø±¾ÖÊ»¯¡£Òò´Ë£¬±¾Æª½«ÖðÒ»½éÉÜCÓïÑÔµÄÎļþ²Ù×÷¡££¨±¾Ä£¿éµÄÃüÃû±¾À´ÊÇÏëC\C++Ò»¿é¶ù½²½âµÄ£¬µ«ÊÇÓÉÓÚ¹¤×÷¡¢±ÏÒµÂÛÎÄ¡¢ÒµÓàʱ¼äµÄ³äµç¡¢»¹ÓÐÒªÍê³ÉÄǸöδ֪µÄÃεȣ¬Òò´ËÒòΪʱ¼äÎÊÌâC++¾ÍÖ»ÄÜ·ÅÔÚÒÔºóÓлú»áÔÙдÁË£¬Òò´Ë±¾Æª½«ÊDZ¾Ä£¿éµÄ×îºóһƪ£¬Ö®ºó½«²»»áÔÙÁ¬ÔØÁË£¬Çë´ó¼ÒÁ½⡣£©
ºÃÁË£¬»Øµ½ÕýÌ⣬ÏÈÀ´¿´Îļþ²Ù×÷ÖеÄÎļþ¡£ËùνÎļþ£¨file£©Ò»°ãÖ¸´æ´¢ÔÚÍⲿ½éÖÊÉÏÊý¾ÝµÄ¼¯ºÏ£¬±ÈÈçÎÒÃǾ³£Ê¹ÓõÄmp3¡¢mp4¡¢txt¡¢bmp¡¢jpg¡¢exe¡¢rmvbµÈµÈ¡£ÕâЩÎļþ¸÷Óи÷µÄÓÃ;£¬ÎÒÃÇͨ³£½«ËüÃÇ´æ·ÅÔÚ´ÅÅÌ»òÕß¿ÉÒÆ¶¯Å̵ȽéÖÊÖС£ÄÇô£¬ÎªÊ²Ã´ÕâÀïÃæÓÖÓÐÕâô¶àÖÖ¸ñʽµÄÎļþÄØ£¿ÔÒòºÜ¼òµ¥£¬ËüÃǸ÷Óи÷µÄÓÃ;£¬Çø·Ö¾ÍÔÚÓÚÕâЩÎļþÀïÃæ´æ·ÅµÄÊý¾Ý¼¯ºÏËù×ñѵĴ洢¹æÔò²»Ò»Ñù¡£¾Ù¸öÀý×Ó±ÈÈçbmpͼƬÎļþ£¬ÎªÊ²Ã´ËûÄܹ»±íʾһÕÅͼƬ£¬ÒòΪËüÓй̶¨µÄ¸ñʽ£¬ÄÄÒ»¶Îµ½ÄÄÒ»¶Î£¬ÄĸöÆ«ÒÆµ½ÄĸöÆ«ÒÆÓ¦¸Ã´æ·ÅʲôÊý¾ÝÊǹ涨ºÃÁ˵ġ£±ÈÈçÓÐÎļþÍ·£¬Ò»°ãÊÇÒ»¸ ......
#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;
}
/* º¯Êý˵Ã÷£ºÅжÏÍøÒ³ÊÇ·ñºÏ·¨
* ÊäÈë²ÎÊý£ºÐèÒªÅжϵÄÍøÖ·
* ·µ»Ø½á¹û£ºÍøÒ³ÊÇ·ñºÏ·¨(ºÏ·¨1£¬²»ºÏ·¨0)
*/
int IsLegalPage(char* s_tmp)
{
char* pattern="(https?)://.*(\.cn|\.com|\.htm|\.html|\.aspx?|\.jsp|\.php|/|/#)$";
printf("pattern=%s\n",pattern);
int z=0;
regex_t reg;
regmatch_t pm[1];
z=regcomp(®,pattern,REG_EXTENDED|REG_ICASE);
z=regexec(®,s_tmp,1,pm,0);
if(z!=0)
return 0;
else
return 1;
regfree(®);
}
......
#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;
}
/* º¯Êý˵Ã÷£ºÅжÏÍøÒ³ÊÇ·ñºÏ·¨
* ÊäÈë²ÎÊý£ºÐèÒªÅжϵÄÍøÖ·
* ·µ»Ø½á¹û£ºÍøÒ³ÊÇ·ñºÏ·¨(ºÏ·¨1£¬²»ºÏ·¨0)
*/
int IsLegalPage(char* s_tmp)
{
char* pattern="(https?)://.*(\.cn|\.com|\.htm|\.html|\.aspx?|\.jsp|\.php|/|/#)$";
printf("pattern=%s\n",pattern);
int z=0;
regex_t reg;
regmatch_t pm[1];
z=regcomp(®,pattern,REG_EXTENDED|REG_ICASE);
z=regexec(®,s_tmp,1,pm,0);
if(z!=0)
return 0;
else
return 1;
regfree(®);
}
......
jjhou.csdn.netÀïÃæÓÐ
--------------------------------------------------------------------------------
ÔÚ console mode ÖÐʹÓà C/C++ ±àÒëÆ÷
ºî½Ý 1999.04.08
--------------------------------------------------------------------------------
ÎÒ×ÜÊǹÄÀø C/C++ µÄѧϰÕߣ¬ÔÚ¸Õ½Ó´¥Õâ¸ö³ÌʽÓïÑÔµÄʱºò£¬ÏÈÒÔ console mode£¨DOS-like£©³ÌʽΪĿ±ê¡£»»ÑÔÖ®£¬²»ÒªÒ»¿ªÊ¼¾ÍÏëд GUI ³Ìʽ¡¢Ï뿪ÊÓ´°¡¢ÏëÓÐѣĿÁÁÀöµÄ»Ãæ -- ÄÇÖ»ÊÇδ×ßÏÈ·É£¬ÞëÃçÖú³¤°ÕÁË¡£
Ëùν console ³Ìʽ£¬¾ÍÊÇÎÄ×ÖģʽµÄ³Ìʽ£¬ÎÒÃÇ¿ÉÒÔÔÚÆäÖÐºÃºÃ°Ñ C/C++ µÄÓïÑÔ¸ù»ùÁ·ºÃ£¬¶ø²»»á·ÖÐÄì¶ÆäËûÔÝÎÞ±ØÒªµÄ GUI Ö¦½ÚÉÏ¡£
ÎÒÒ»Ö±ÒÔΪ£¬ÕâÊÇÀíËùµ±È»µÄÊÂÇ飬ȴҲһֱ·¢ÏÖ£¬Óв»ÉÙ´óרԺУµÄ´óÒ» C/C++ ¿Î³Ì£¬Í¬Ñ§ÃÇ±Ø ......
jjhou.csdn.netÀïÃæÓÐ
--------------------------------------------------------------------------------
ÔÚ console mode ÖÐʹÓà C/C++ ±àÒëÆ÷
ºî½Ý 1999.04.08
--------------------------------------------------------------------------------
ÎÒ×ÜÊǹÄÀø C/C++ µÄѧϰÕߣ¬ÔÚ¸Õ½Ó´¥Õâ¸ö³ÌʽÓïÑÔµÄʱºò£¬ÏÈÒÔ console mode£¨DOS-like£©³ÌʽΪĿ±ê¡£»»ÑÔÖ®£¬²»ÒªÒ»¿ªÊ¼¾ÍÏëд GUI ³Ìʽ¡¢Ï뿪ÊÓ´°¡¢ÏëÓÐѣĿÁÁÀöµÄ»Ãæ -- ÄÇÖ»ÊÇδ×ßÏÈ·É£¬ÞëÃçÖú³¤°ÕÁË¡£
Ëùν console ³Ìʽ£¬¾ÍÊÇÎÄ×ÖģʽµÄ³Ìʽ£¬ÎÒÃÇ¿ÉÒÔÔÚÆäÖÐºÃºÃ°Ñ C/C++ µÄÓïÑÔ¸ù»ùÁ·ºÃ£¬¶ø²»»á·ÖÐÄì¶ÆäËûÔÝÎÞ±ØÒªµÄ GUI Ö¦½ÚÉÏ¡£
ÎÒÒ»Ö±ÒÔΪ£¬ÕâÊÇÀíËùµ±È»µÄÊÂÇ飬ȴҲһֱ·¢ÏÖ£¬Óв»ÉÙ´óרԺУµÄ´óÒ» C/C++ ¿Î³Ì£¬Í¬Ñ§ÃÇ±Ø ......
µÚһƪ£ºtypedef structÓëstructµÄÇø±ð
1. »ù±¾½âÊÍ
typedefΪCÓïÑԵĹؼü×Ö£¬×÷ÓÃÊÇΪһÖÖÊý¾ÝÀàÐͶ¨ÒåÒ»¸öÐÂÃû×Ö¡£ÕâÀïµÄÊý¾ÝÀàÐͰüÀ¨ÄÚ²¿Êý¾ÝÀàÐÍ£¨int,charµÈ£©ºÍ×Ô¶¨ÒåµÄÊý¾ÝÀàÐÍ
£¨structµÈ£©¡£
ÔÚ±à³ÌÖÐʹÓÃtypedefÄ¿µÄÒ»°ãÓÐÁ½¸ö£¬Ò»¸öÊǸø±äÁ¿Ò»¸öÒ×¼ÇÇÒÒâÒåÃ÷È·µÄÐÂÃû×Ö£¬ÁíÒ»¸öÊǼò»¯Ò»Ð©±È½Ï¸´ÔÓµÄÀàÐÍÉùÃ÷¡£
ÖÁÓÚtypedefÓÐʲô΢ÃîÖ®´¦£¬ÇëÄã½Ó×Å¿´ÏÂÃæ¶Ô¼¸¸öÎÊÌâµÄ¾ßÌå²ûÊö¡£
2. typedef & ½á¹¹µÄÎÊÌâ
µ±ÓÃÏÂÃæµÄ´úÂ붨ÒåÒ»¸ö½á¹¹Ê±£¬±àÒëÆ÷±¨ÁËÒ»¸ö´íÎó£¬ÎªÊ²Ã´ÄØ£¿Äª·ÇCÓïÑÔ²»ÔÊÐíÔڽṹÖаüº¬Ö¸ÏòËü×Ô¼ºµÄÖ¸ÕëÂð£¿ÇëÄãÏȲÂÏëһϣ¬È»ºó¿´ÏÂÎÄ˵
Ã÷£º
typedef struct tagNode
{
¡¡char *pItem;
¡¡pNode pNext;
}
*pNode;
´ð°¸Óë·ÖÎö£º
1¡¢typedefµÄ×î¼òµ¥Ê¹ÓÃ
typedef long byte_4;
¸øÒÑÖªÊý¾ÝÀàÐÍlongÆð¸öÐÂÃû×Ö£¬½Ðbyte_4¡£
2¡¢ typedefÓë½á¹¹½áºÏʹÓÃ
typedef struct tagMyStruct
{
¡¡int iNum;
¡¡long lLength;
}
MyStruct;
ÕâÓï¾äʵ¼ÊÉÏÍê³ÉÁ½¸ö²Ù×÷£º
1) ¶¨ÒåÒ»¸öеĽṹÀàÐÍ
struct tagMyStruct
{
¡¡int iNum;
¡¡long lLength;
};
·ÖÎö£ºtagMyStruct³ÆÎª“tag”£¬¼´“±êÇ©”£¬Êµ ......
µÚһƪ£ºtypedef structÓëstructµÄÇø±ð
1. »ù±¾½âÊÍ
typedefΪCÓïÑԵĹؼü×Ö£¬×÷ÓÃÊÇΪһÖÖÊý¾ÝÀàÐͶ¨ÒåÒ»¸öÐÂÃû×Ö¡£ÕâÀïµÄÊý¾ÝÀàÐͰüÀ¨ÄÚ²¿Êý¾ÝÀàÐÍ£¨int,charµÈ£©ºÍ×Ô¶¨ÒåµÄÊý¾ÝÀàÐÍ
£¨structµÈ£©¡£
ÔÚ±à³ÌÖÐʹÓÃtypedefÄ¿µÄÒ»°ãÓÐÁ½¸ö£¬Ò»¸öÊǸø±äÁ¿Ò»¸öÒ×¼ÇÇÒÒâÒåÃ÷È·µÄÐÂÃû×Ö£¬ÁíÒ»¸öÊǼò»¯Ò»Ð©±È½Ï¸´ÔÓµÄÀàÐÍÉùÃ÷¡£
ÖÁÓÚtypedefÓÐʲô΢ÃîÖ®´¦£¬ÇëÄã½Ó×Å¿´ÏÂÃæ¶Ô¼¸¸öÎÊÌâµÄ¾ßÌå²ûÊö¡£
2. typedef & ½á¹¹µÄÎÊÌâ
µ±ÓÃÏÂÃæµÄ´úÂ붨ÒåÒ»¸ö½á¹¹Ê±£¬±àÒëÆ÷±¨ÁËÒ»¸ö´íÎó£¬ÎªÊ²Ã´ÄØ£¿Äª·ÇCÓïÑÔ²»ÔÊÐíÔڽṹÖаüº¬Ö¸ÏòËü×Ô¼ºµÄÖ¸ÕëÂð£¿ÇëÄãÏȲÂÏëһϣ¬È»ºó¿´ÏÂÎÄ˵
Ã÷£º
typedef struct tagNode
{
¡¡char *pItem;
¡¡pNode pNext;
}
*pNode;
´ð°¸Óë·ÖÎö£º
1¡¢typedefµÄ×î¼òµ¥Ê¹ÓÃ
typedef long byte_4;
¸øÒÑÖªÊý¾ÝÀàÐÍlongÆð¸öÐÂÃû×Ö£¬½Ðbyte_4¡£
2¡¢ typedefÓë½á¹¹½áºÏʹÓÃ
typedef struct tagMyStruct
{
¡¡int iNum;
¡¡long lLength;
}
MyStruct;
ÕâÓï¾äʵ¼ÊÉÏÍê³ÉÁ½¸ö²Ù×÷£º
1) ¶¨ÒåÒ»¸öеĽṹÀàÐÍ
struct tagMyStruct
{
¡¡int iNum;
¡¡long lLength;
};
·ÖÎö£ºtagMyStruct³ÆÎª“tag”£¬¼´“±êÇ©”£¬Êµ ......
ÍøÉÏÓÐÁ˺ܶàÕâÑùµÄÎÄÕ£¬²»¹ý¸Ð¾õ²¢²»ÊǺÜÈ«£¬ÎÒ¶¼¶«ÕÒÎ÷ÕÒ²Å×îÖÕ°ÑJAVAµ÷ÓÃc++¸ø¸ã¶¨¡£
ÏÂÃæÒýÓÃÁ˺ܶàÍøÉÏÒѾÓеĵÄÄÚÈÝ£¬ÎÒÔÚÕâÀïÖ»ÊÇÕûºÏÒ»´Î£¬ÈÃÒÔºóµÄÅóÓÑÉÙ×ßÍøÂ·¡£
¶à˵ÎÞÒæ£¬¾ßÌåÈçÏ£º
×÷Õß:mykoma
¼ÙÉèËùÓÐÎļþ¶¼·ÅÔÚd:\
Step 1:
дJAVAÎļþ
ÀýÈç³ÌÐòtestdll.java£¬ÄÚÈÝΪ£º
public class testdll {
static{
System.loadLibrary("testdll");
}
public native static int get();
public native static void set(int i);
public static void main(String[] args) {
testdll test = new testdll();
test.set(10);
System.out.println(test.get()); &nbs ......
ÍøÉÏÓÐÁ˺ܶàÕâÑùµÄÎÄÕ£¬²»¹ý¸Ð¾õ²¢²»ÊǺÜÈ«£¬ÎÒ¶¼¶«ÕÒÎ÷ÕÒ²Å×îÖÕ°ÑJAVAµ÷ÓÃc++¸ø¸ã¶¨¡£
ÏÂÃæÒýÓÃÁ˺ܶàÍøÉÏÒѾÓеĵÄÄÚÈÝ£¬ÎÒÔÚÕâÀïÖ»ÊÇÕûºÏÒ»´Î£¬ÈÃÒÔºóµÄÅóÓÑÉÙ×ßÍøÂ·¡£
¶à˵ÎÞÒæ£¬¾ßÌåÈçÏ£º
×÷Õß:mykoma
¼ÙÉèËùÓÐÎļþ¶¼·ÅÔÚd:\
Step 1:
дJAVAÎļþ
ÀýÈç³ÌÐòtestdll.java£¬ÄÚÈÝΪ£º
public class testdll {
static{
System.loadLibrary("testdll");
}
public native static int get();
public native static void set(int i);
public static void main(String[] args) {
testdll test = new testdll();
test.set(10);
System.out.println(test.get()); &nbs ......
[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.
¸ù¾ÝͬÀàÐͶÔÏó³õʼ»¯Ä³Ò»¶ÔÏó£»ÎÒ¸öÈ˾õµÃÔÚÕâÖÖÇé¿öÏ£¬ºÜÈÝÒ×ÊèºöµÄÒ»¸öϸ½ÚÖ®´¦ÊÇ£ºÒ»°ã£¬¶Ô¹¹Ô캯Êý±È½ÏÉúÊèµÄ³ÌÐòԱϰ¹ßµØ¶¨ÒåÒ»¸öĬÈϹ¹Ô캯Êýºó£¬²¢ÇÒÔÚÀïÃæ½øÐÐÖ¸ÕëËùÐè¿Õ¼äµÄ¿ª±ÙºÍ·Ö ......
[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.
¸ù¾ÝͬÀàÐͶÔÏó³õʼ»¯Ä³Ò»¶ÔÏó£»ÎÒ¸öÈ˾õµÃÔÚÕâÖÖÇé¿öÏ£¬ºÜÈÝÒ×ÊèºöµÄÒ»¸öϸ½ÚÖ®´¦ÊÇ£ºÒ»°ã£¬¶Ô¹¹Ô캯Êý±È½ÏÉúÊèµÄ³ÌÐòԱϰ¹ßµØ¶¨ÒåÒ»¸öĬÈϹ¹Ô캯Êýºó£¬²¢ÇÒÔÚÀïÃæ½øÐÐÖ¸ÕëËùÐè¿Õ¼äµÄ¿ª±ÙºÍ·Ö ......