C/C++º¯Êý²ÎÊý,´«ÖµÓò´«Ö·µÄÇø±ð!!!
/*
* File: main.cpp
* Author: Vicky
*
* Created on 2010Äê5ÔÂ8ÈÕ, ÏÂÎç2:47
*/
#include <iostream>
using namespace std;
class A{
public:
A(){
cout << "Ö´Ðй¹Ô캯Êý´´½¨Ò»¸ö¶ÔÏó" << endl;
}
A(A&){
cout << "Ö´Ðп½±´º¯Êý¿½±´Ò»¸ö¶ÔÏó" << endl;
}
~A(){
cout << "Ö´ÐÐÎö¹¹º¯Êýɾ³ýÒ»¸ö¶ÔÏó" << endl;
}
};
void func(A a){
cout << "µ÷ÓÃÒ»¸ö´«Öµº¯Êý" << endl;
}
void func2(A &a){
cout << "µ÷ÓÃÒ»¸ö´«Ö·º¯Êý" << endl;
}
A getA(A a){
return a;
}
A getA2(A &a){
return a;
}
/**
* ͬgetA4
*/
A* getA3(A &a){
return &a;
}
/**
* ͬgetA3
*/
A* getA4(A *a){
return a;
}
/*
* °´Öµ´«µÝµÄȱµã...µ±´´½¨Ò»¸öеĶÔÏóÖ®ºó,Èç¹û°´Öµ´«µÝ
* ½«¸´Öƹ¹Ô캯Êý´´½¨¶ÔÏóµÄ¸±±¾,¸±±¾ÔÚʹÓÃÍê³ÉÖ®ºó,ÓÖ»áÖ´ÐÐÎö¹¹º¯Êýɾ³ý¸Ã¸±±¾!
*/
int main(int argc, char** argv) {
A a;
func(a);
func(a);
cout << "-------" << endl;
func2(a);
func2(a);
cout << "-------" << endl;
getA(a); // ½«¿½±´2¸ö¶ÔÏóºÍɾ³ý2¸ö¶ÔÏó,1¸ö¶ÔÏóÊÇ×÷Ϊ²ÎÊý´«µÝµÄ,ÁíÍâÒ»¸ö¶ÔÏóÊÇ×÷Ϊֵ·µ»ØµÄ!
cout << "-------" << endl;
getA2(a); // ½«¿½±´1¸ö¶ÔÏóºÍɾ³ý1¸ö¶ÔÏó,¸Ã¶ÔÏóÊÇ×÷Ϊֵ·µ»ØµÄ!
cout << "-------" << endl;
getA3(a); // ½«²»¿½±´aµÄ¶ÔÏó×öΪ²ÎÊý,Ò²²»»á¿½±´aµÄ¶ÔÏó×÷Ϊ·µ»ØÖµ(°üÀ¨É¾³ý)!
getA4(&a);
return (EXIT_SUCCESS);
}
Ö´Ðй¹Ô캯Êý´´½¨Ò»¸ö¶ÔÏó
Ö´Ðп½±´º¯Êý¿½±´Ò»¸ö¶ÔÏó
µ÷ÓÃÒ»¸ö´«Öµº¯Êý
Ö´ÐÐÎö¹¹º¯Êýɾ³ýÒ»¸ö¶ÔÏó
Ö´Ðп½±´º¯Êý¿½±´Ò»¸ö¶ÔÏó
µ÷ÓÃÒ»¸ö´«Öµº¯Êý
Ö´ÐÐÎö¹¹º¯Êýɾ³ýÒ»¸ö¶ÔÏó
-------
µ÷ÓÃÒ»¸ö´«Ö·º¯Êý
µ÷ÓÃÒ»¸ö´«Ö·º¯Êý
-------
Ö´Ðп½±´º¯Êý¿½±´Ò»¸ö¶ÔÏó
Ö´Ðп½±´º¯Êý¿½±´Ò»¸ö¶ÔÏó
Ö´ÐÐÎö¹¹º¯Êýɾ³ýÒ»¸ö¶ÔÏó
Ö´ÐÐÎö¹¹º¯Êýɾ³ýÒ»¸ö¶ÔÏó
-------
Ö´Ðп½±´º¯Êý¿½±´Ò»¸ö¶ÔÏó
Ö´ÐÐÎö¹¹º¯Êýɾ³ýÒ»¸ö¶ÔÏó
-------
Ö´ÐÐÎö¹¹º¯Êýɾ³ýÒ»¸ö¶ÔÏó
ÔËÐгɹ¦£¨×ܼÆÊ±¼ä£º 255ºÁÃ룩
Ïà¹ØÎĵµ£º
ÍøÉÏÒ»µÀ½ðɽµÄÃæÊÔÌ⣺
http://topic.csdn.net/u/20100524/14/0eff992a-2849-4db6-bdaa-d4a200e79b7c.html
Çë·Ö±ðÓÃC++µÄÃæÏò¶ÔÏóºÍ·ºÐÍ»úÖÆ£¬±àдʵÏÖTemplate MethodģʽµÄʾÀý´úÂ룬²¢±È½ÏÁ½ÖÖ·½Ê½¸÷×ÔµÄÓÅȱµã¡£
ÓÃÐ麯ÊýʵÏÖTemplate MethodµÄ·½Ê½¾Í²»¶à˵ÁË¡£Ó÷ºÐ͵ķ½Ê½ÊµÏÖ¶à̬ÔÚATLÀïÃæÓдóÁ¿µÄÓõ½£¡
·ºÐ͵ ......
×î½üÐèҪдһ¶Î³ÌÐò£¬Íê³ÉÒÔÏµĹ¤×÷£¬ÓÃjava½«Êý¾ÝÒÔ¶þ½øÖƵÄÐÎʽдÈëÎļþÖУ¬È»ºóÓÃC¶Á³ö´Ë¶þ½øÖÆÎļþ¡£
¿ªÊ¼µÄʱºòûÓп¼ÂÇ»úÆ÷µÄ×Ö½ÚÐò£¬Ö±½Ó¸ã³ösegment fault.ÏëÁ˺ܾ㬲ÅÃ÷°×ÔÀ´ÊÇjavaºÍCµÄ×Ö½ÚÐòÊDz»Ò»ÑùµÄ¡£
javaÖеÄ×Ö½ÚÐòÊÇbig endianµÄ£¬ËüÊÇÓë»úÆ÷Î޹صġ£¶øcµÄ×Ö»úÐòÊÇ»úÆ÷Ïà¹ØµÄ£¬¶øµ±Ç°ÓõĻúÆ÷ÊÇx84 ......
1.ÕâÑùµÄ³õʼ»¯ÓÐʲôÎÊÌ⣿char *p = malloc(10); ±àÒëÆ÷Ìáʾ“·Ç·¨³õʼʽ” ÔÆÔÆ¡£
´ð:Õâ¸öÉùÃ÷ÊǾ²Ì¬»ò·Ç¾Ö
²¿±äÁ¿Â𣿺¯Êýµ÷ÓÃÖ»ÄܳöÏÖÔÚ×Ô¶¯±äÁ¿(¼´¾Ö²¿·Ç¾²Ì¬±äÁ¿) µÄ³õʼʽÖС£
ÒòΪ¾²Ì¬±äÁ¿µÄµØÖ·±ØÐëÔÚ±àÒëµÄ¹ý³ÌÖоÍÈ·¶¨ÏÂÀ´¶ømalloc()Éê
ÇëµÄÄÚ´æµØÖ·ÊÇÔÚÔËÐÐʱȷ¶¨µÄ¡£
2. *p++ ×ÔÔöp »¹ÊÇp ËùÖ ......