³¤ÆÚÊÕ¼¯ C/C++ FAQ
дÔÚÇ°Ãæ£º
¡¡¡¡ÂÛ̳Àï×ÜÓÐÄÇôһЩÎÊÌâÊdz¤Ê¢²»Ë¥µÄ£¬½ñÌìÕâ¸öÎÊ£¬Ã÷ÌìÄǸöÎÊ£¬µ½ÀúÊ·Ìû×ÓÀïÒ»ËÑ¿ÉÒÔ×¥³öÀ´Ò»´ó°Ñ¡£ÓÐʱºòÕâ¶¼ÁîÎÒ»³ÒÉÊDz»ÊÇÎÒÃǵĽÌÓýÌåÖÆ´æÔÚÎÊÌâ……
¡¡¡¡ÓÚÊÇÎÒ¿ªÁËÕâÆªÎÄÕ£¬ËѼ¯ÎÒ¼ûµ½µÄ³¤Éú²»ÀÏÖ®Ìû£¬Ï£Íû¿ÉÒÔÆðµ½²Î¿¼¼ÛÖµ¡£
¡¡¡¡ÕâÀïʹÓõıàÒë»·¾³Îª gcc/g++ 4.3.3 for ubuntu 9.04
Êý×éÃûºÍÖ¸ÕëµÄÎÊÌâ
¡¡¡¡Õâ¾ø¶ÔÊǽ̲ÄÎÊÌ⣡ÏÖÔÚ¹úÄÚÓÐÌ«¶à½Ì²Ä¹àÊä“Êý×éÃûÏ൱ÓÚÖ¸Õ딵ĸÅÄîÁË£¡ÓÚÊÇ·×·×ÓÐÈ˰ÑÊý×éÃûºÍÖ¸ÕëµÈͬÆðÀ´£¬ÈÏΪÊý×éÃûÆäʵ¾ÍÊÇÒ»¸öÖ¸Õë¡£¾Ã¶ø¾ÃÖ®£¬Ðí¶àÐÂÊÖÒѾ²»ÖªµÀ»¹ÓÐÒ»ÖÖÊý¾ÝÀàÐͽÐ×ö“Êý×é”ÁË¡£
¡¡¡¡¶ÔÓÚÕâ¸öÎÊÌâÊ×ÏÈÓ¦¸Ã´Ó¸ÅÄîÉϳÎÇ壬¼á¶¨²»ÒƵذÑÊý×éºÍÖ¸ÕëÕâÁ½ÖÖÀàÐÍ»®Çå½çÏߣ¬ÈÏʶµ½ËüÃÇËäÈ»ÓÐǧ˿ÍòÂÆµÄÁªÏµ£¬µ«ÆäʵÊÇÁ½ÖÖ²»Í¬µÄÊý¾ÝÀàÐÍ¡£¾ÍÈçÏÂÃæËù¿´µ½µÄ£º
#include <iostream>
#include <typeinfo>
using namespace std;
#define gettype(id) (cout<<typeid(id).name()<<endl)
int a;
char arrChar[10];
char str1[] = "string";
char str2[] = "string?";
char *p1 = str1;
char *p2 = str2;
int main()
{
gettype(a);
gettype(arrChar);
gettype(str1);
gettype(str2);
gettype(p1);
gettype(p2);
return 0;
}
Êä³öΪ£º
A10_c
A7_c
A8_c
Pc
Pc
¡¡¡¡¿É¼û£¬arrChar¡¢str1¡¢str2 µÄÀàÐÍ·Ö±ðΪ char [10]¡¢char [7]¡¢char [8]£¬¼´Ê¹ËüÃǶ¼ÊÇÊý×飬ÓÉÓÚ´óС²»Í¬£¬Ò²±»¿´×÷ÊÇÈýÖÖ²»Í¬µÄÀàÐÍ£»¶ø p1¡¢p2 µÄÀàÐÍÔòÏàͬ£¬Îª char*¡£
¡¡¡¡ÄÇô£¬´«ËµµÄ“Êý×éÃûÏ൱ÓÚÖ¸Õë”ÓÖÊÇÔõôһ»ØÊÂÄØ£¿ÇÒ¿´ C99 ±ê×¼ÖÐÓйØÐðÊö£º
6.2.5 Types
......
Array types are characterized by their element type and by the number of elements in the array.
......
Ïà¹ØÎĵµ£º
ÍøÉÏÒ»µÀ½ðɽµÄÃæÊÔÌ⣺
http://topic.csdn.net/u/20100524/14/0eff992a-2849-4db6-bdaa-d4a200e79b7c.html
Çë·Ö±ðÓÃC++µÄÃæÏò¶ÔÏóºÍ·ºÐÍ»úÖÆ£¬±àдʵÏÖTemplate MethodģʽµÄʾÀý´úÂ룬²¢±È½ÏÁ½ÖÖ·½Ê½¸÷×ÔµÄÓÅȱµã¡£
ÓÃÐ麯ÊýʵÏÖTemplate MethodµÄ·½Ê½¾Í²»¶à˵ÁË¡£Ó÷ºÐ͵ķ½Ê½ÊµÏÖ¶à̬ÔÚATLÀïÃæÓдóÁ¿µÄÓõ½£¡
·ºÐ͵ ......
1£© º¯ÊýÉùÃ÷
l CÈç¹û²»Ð´·µ»ØÖµ£¬Ä¬ÈÏÊÇint£¬¶øC++Öв»Äܲ»Ð´·µ»ØÖµ(¿ÉÓÃvoid±íʾÎÞ·µ»ØÖµ)¡£
ÈçFunc1();
l int Func1()ÔÚCÖбíʾ¿É´øÈÎÒâ²ÎÊýµÄº¯Êý£¬ÕâÊÇCµÄ©¶´£¬Ê¹µÃËü±Ü¿ªÁ˲ÎÊýÀàÐͼì²é£»¶øC++Öбíʾ²»´ ......
C/C++
Í·ÎļþÒ»ÀÀ
//////////////////////////////////////////////////////////////////////////
C
Í·Îļþ
(C89,C95)
(C++98,C++03Ò²°üº¬)
include <assert.h>¡¡¡¡¡¡¡¡//Õï¶Ï¿â
include <ctype.h>¡¡¡¡¡¡¡¡ //×Ö·û´¦Àíº¯Êý¿â
include <errno.h>¡¡¡¡¡¡¡¡ //´íÎó¶¨Òå
include <float.h& ......
´ÓÄ³Î»ÍøÓѵIJ©¿Í¿´µ½¹ØÓÚextern "C"Ó÷¨µÄÎÄÕ£¬½²µÃ·Ç³£Í¸³¹£¬ÓÚÊǾÍÕª³ÁËÎÒ֮ǰ²»ÉõÁ˽âµÄ²¿·Ö×ö¸öbackup¡£
Ò»¡¢´ÓCÓëC++±àÒëÁ¬½Ó·½Ê½ÉîÈëÀí½âextern "C"
<1>.CºÍC++¶Ôº¯ÊýµÄ´¦Àí·½Ê½ÊDz»Í¬µÄ.±»extern "C"ÐÞÊεıäÁ¿ºÍº¯ÊýÊǰ´ÕÕCÓïÑÔ·½Ê½±àÒëºÍÁ¬½ÓµÄ.extern "C"ÓÃÓÚʵÏÖC++ÓëC¼°ÆäËüÓïÑԵĻìºÏ±à³Ì¡ ......
ÔÚCÓïÑÔÖУ¬ÐÞÊηûexternÓÃÔÚ±äÁ¿»òÕߺ¯ÊýµÄÉùÃ÷ǰ£¬ÓÃÀ´ËµÃ÷“´Ë±äÁ¿/º¯ÊýÊÇÔڱ𴦶¨ÒåµÄ£¬ÒªÔÚ´Ë´¦ÒýÓÔ¡£
Ò».externÐÞÊαäÁ¿µÄÉùÃ÷
¾ÙÀýÀ´Ëµ£¬Èç¹ûÎļþa.cÐèÒªÒýÓÃb.cÖбäÁ¿int v£¬¾Í¿ÉÒÔÔÚa.cÖÐÉùÃ÷extern int v£¬È»ºó¾Í¿ÉÒÔÒýÓñäÁ¿v¡£ÕâÀïÐèҪעÒâµÄÊÇ£¬±»ÒýÓõıäÁ¿vµÄÁ´½ÓÊôÐÔ±ØÐëÊÇÍâÁ´½Ó£¨external£ ......