ç†è§£å¤æ‚¾cÕdž‹å…¶å®žå¾ˆç®€å?ä¸€ä¸ªç±»åž‹é‡Œä¼šå‡ºçŽ°å¾ˆå¤šè¿½Ž—ç¬¦,ä»–ä»¬ä¹Ÿåƒæ™®é€šçš„表达å¼ä¸€æ ?有优先çñ”,其优先çñ”å’Œè¿½Ž—ä¼˜å…ˆçñ”一æ ?所以我æ€È»“了一下其原则: 从å˜é‡å处è“v,æ ÒŽ®˜qç®—½W¦ä¼˜å…ˆçñ”¾l“åˆ,一æ¥ä¸€æ¥åˆ†æž?
int *p[3]; //首先从P处开å§?先与[]¾l“åˆ,å› äØ“å…¶ä¼˜å…ˆçñ”æ¯?é«?所以P是一个数¾l?ç„¶åŽå†ä¸Ž*¾l“åˆ,è¯´æ˜Žæ•°ç»„é‡Œçš„å…ƒç´ æ˜¯æŒ‡é’ˆç±»åž?ç„¶åŽå†ä¸Žint¾l“åˆ,说明指针所指å‘的内容的¾cÕdž‹æ˜¯æ•´åž‹çš„,所以P是一个由˜q”回整型数æ®çš„æŒ‡é’ˆæ‰€¾l„æˆçš„æ•°¾l?br>
int (*p)(int); //从P处开å§?先与指针¾l“åˆ,说明P是一个指é’?ç„¶åŽä¸?)¾l“åˆ,说明指针指å‘的是一个函æ•?ç„¶åŽå†ä¸Ž()里的int¾l“åˆ,说明函数有一个intåž‹çš„å‚æ•°,å†ä¸Žæœ€å¤–层的int¾l“åˆ,说明函数的返回类型是整型,所以Pæ˜¯ä¸€ä¸ªæŒ‡å‘æœ‰ä¸€ä¸ªæ•´åž‹å‚æ•îC¸”˜q”回¾cÕdž‹ä¸ºæ•´åž‹çš„函数的指é’?br>int *(*p(int))[3];从På¼€å§?先与()¾l“åˆ,说明P是一个函æ•?然厘q›å…¥()里é¢,与int¾l“åˆ,说明函数有一个整型å˜é‡å‚æ•?ç„¶åŽå†ä¸Žå¤–é¢çš?¾l“åˆ,说明函数˜q”回的是一个指é’?,ç„¶åŽåˆ°æœ€å¤–é¢ä¸€å±?先与[]¾l“åˆ,说明˜q”回的指针指å‘的是一个数¾l?/strong>,ç„¶åŽå†ä¸Ž*¾l“åˆ,è¯´æ˜Žæ•°ç»„é‡Œçš„å…ƒç´ æ˜¯æŒ‡é’?ç„¶åŽå†ä¸Žint¾l“åˆ,说明指针指å‘的内å®ÒŽ˜¯æ•´åž‹æ•°æ®.所以Pæ˜¯ä¸€ä¸ªå‚æ•îCؓ一个整数æ®ä¸”返回一个指å‘由整型指针å˜é‡¾l„æˆçš„æ•°¾l„的指针å˜é‡çš„函æ•?
æžæ¸…指针的四斚w¢çš„内容:指针的类åž?/span>ã€?/span>指针所指å‘çš?nbsp;¾cÕdž‹ã€?/span>æŒ‡é’ˆçš„å€¼æˆ–è€…å«æŒ‡é’ˆæ‰€æŒ‡å‘的内å˜åŒºã€?/span>指针本èínæ‰€å æ®çš„内å˜åŒº å¦ä¼šåˆ¤æ–ž®±å¥½
char a[20];
int *ptr=(int *)a; //强制¾cÕdž‹è½¬æ¢òq¶ä¸ä¼šæ”¹å˜a的类åž?nbsp;
ptr++;//æ¤æ—¶æ¯æ¬¡+1 ç›¸å½“äºŽåŠ sizeof(int)大å°çš„内å˜å•ä½ã€?br>两个指针ä¸èƒ½˜q›è¡ŒåŠ æ³•æ“作。得到的¾l“æžœž®†æ˜¯ä¸€ä¸ªæœªçŸ¥çš„ä½ç½®ã€?br>
˜q˜æœ‰sizeof的一些用法,strlen的规则ã€?br>
关键å—mutable是C++ä¸ä¸€ä¸ªä¸å¸¸ç”¨çš„关键å—,ä»–åªèƒ½ç”¨äºŽç±»çš„éžé™æ€å’Œéžå¸¸é‡æ•°æ®æˆå‘?br>  我们知é“一个对象的状æ€ç”±è¯¥å¯¹è±¡çš„éžé™æ€æ•°æ®æˆå‘˜å†³å®?所以éšç€æ•°æ®æˆå‘˜çš„æ”¹å?
  对åƒçš„状æ€ä¹Ÿä¼šéšä¹‹å‘生å˜åŒ?
  如果一个类的æˆå‘˜å‡½æ•°è¢«å£°æ˜Žä¸ºconst¾cÕdž‹,表示该函æ•îC¸ä¼šæ”¹å˜å¯¹è±¡çš„状æ€?也就æ˜?br>  该函æ•îC¸ä¼šä¿®æ”¹ç±»çš„éžé™æ€æ•°æ®æˆå‘?但是有些时候需è¦åœ¨è¯¥ç±»å‡½æ•°ä¸å¯¹¾cÈš„æ•°æ®æˆå‘˜
  ˜q›è¡Œèµ‹å€?˜q™ä¸ªæ—¶å€™å°±éœ€è¦ç”¨åˆ°mutable关键å—了
  例如:
  class Demo
  {
  public:
  Demo(){}
  ~Demo(){}
  public:
  bool getFlag() const
  {
  m_nAccess++;
  return m_bFlag;
  }
  private:
  int m_nAccess;
  bool m_bFlag;
  };
  int main()
  {
  return 0;
  }
  ¾~–译上é¢çš„代ç 会出现 error C2166: l-value specifies const object的错è¯?br>  说明在const¾cÕdž‹çš„函æ•îC¸æ”¹å˜äº†ç±»çš„éžé™æ€æ•°æ®æˆå‘?
  ˜q™ä¸ªæ—¶å€™éœ€è¦ä‹É用mutableæ¥ä¿®é¥îC¸€ä¸‹è¦åœ¨constæˆå‘˜å‡½æ•°ä¸æ”¹å˜çš„éžé™æ€æ•°æ®æˆå‘?br>  m_nAccess,代ç 如下:
  class Demo
  {
  public:
  Demo(){}
  ~Demo(){}
  public:
  bool getFlag() const
  {
  m_nAccess++;
  return m_bFlag;
  }
  private:
  mutable int m_nAccess;
  bool m_bFlag;
  };
  int main()
  {
  return 0;
  }
  ˜q™æ ·å†é‡æ–°ç¼–译的时候就ä¸ä¼šå‡ºçŽ°é”™è¯¯äº?
volatile关键å?/strong>
  volatile是c/c++ä¸ä¸€ä¸ªé²œä¸ÞZh知的关键å?该关键å—告诉¾~–译器ä¸è¦æŒæœ‰å˜é‡çš„临时拯‚´,它å¯ä»¥é€‚用于基¼‹€¾cÕdž‹
  如:int,char,long......也适用于C的结构和C++的类。当对结构或者类对象使用volatile修饰的时候,¾l“构或è€?br>  ¾cÈš„所有æˆå‘˜éƒ½ä¼šè¢«è§†äØ“volatile.
  使用volatileòq¶ä¸ä¼šå¦å®šå¯¹CRITICAL_SECTION,Mutex,Event½{‰åŒæ¥å¯¹è±¡çš„需è¦?br>  例如åQ?br>  int i;
  i = i + 3;
ã€€ã€€æ— è®ºå¦‚ä½•åQŒæ€ÀL˜¯ä¼šæœ‰ä¸€ž®æ®µæ—‰™—´åQŒi会被攑֜¨ä¸€ä¸ªå¯„å˜å™¨ä¸ï¼Œå› 䨓½Ž—术˜qç®—åªèƒ½åœ¨å¯„å˜å™¨ä¸è¿›è¡Œã€‚一般æ¥è¯ß_¼Œvolatitle
  关键å—适用于行与行之间åQŒè€Œä¸æ˜¯æ”¾åœ¨è¡Œå†…ã€?/p>
  我们先æ¥å®žçŽ°ä¸€ä¸ªç®€å•的函数åQŒæ¥è§‚察一下由¾~–译器äñ”生出æ¥çš„æ±‡ç¼–代ç ä¸çš„ä¸èƒö之处åQŒåƈ观察volatile关键å—如何修æ?br>  ˜q™ä¸ªä¸èƒö之处。在˜q™ä¸ªå‡½æ•°ä½“内å˜åœ¨ä¸€ä¸ªbusy loop(所谓busy loop也å«åšbusy waits,是一¿U高度浪费CPUæ—‰™—´çš„åó@环方æ³?
  void getKey(char* pch)
  {
  while (*pch == 0)
  ;
  }
ã€€ã€€å½“ä½ åœ¨VCå¼€å‘环境丞®†æœ€ä¼˜åŒ–选项都关é—之åŽï¼Œ¾~–译˜q™ä¸ª½E‹åºåQŒå°†è޷得以䏋¾l“æžœ(汇编代ç )
  ; while (*pch == 0)
  $L27
  ; Load the address stored in pch
  mov eax, DWORD PTR _pch$[ebp]
  ; Load the character into the EAX register
  movsx eax, BYTE PTR [eax]
  ; Compare the value to zero
  test eax, eax
  ; If not zero, exit loop
  jne $L28
  ;
  jmp $L27
  $L28
  ;}
  ˜q™æ®µæ²¡æœ‰ä¼˜åŒ–的代ç 䏿–的载入适当的地å€åQŒè²å…¥åœ°å€ä¸çš„内容åQŒæµ‹è¯•结果。效率相当的低,但是¾l“æžœéžå¸¸å‡†ç¡®
ã€€ã€€çŽ°åœ¨æˆ‘ä»¬å†æ¥çœ‹çœ‹ž®†ç¼–译器的所有最优化选项开关都打开以åŽåQŒé‡æ–°ç¼–译程åºï¼Œç”Ÿæˆçš„æ±‡¾~–代ç ,和上é¢çš„代ç
  比较一下有什么ä¸å?/p>
  ;{
  ; Load the address stored in pch
  mov eax, DWORD PTR _pch$[esp-4]
  ; Load the character into the AL register
  movsx al, BYTE PTR [eax]
  ; while (*pch == 0)
  ; Compare the value in the AL register to zero
  test al, al
  ; If still zero, try again
  je SHORT $L84
  ;
  ;}
从代ç 的长度ž®±å¯ä»¥çœ‹å‡ºæ¥åQŒæ¯”没有优化的情况è¦çŸçš„å¤šã€‚éœ€è¦æ³¨æ„的是编译器把MOV指ä×o攑ֈ°äº†åó@环之外。这在啾U¿ç¨‹ä¸æ˜¯ä¸€ä¸ªéžå¸¸å¥½çš„优化,但是åQŒåœ¨å¤šçº¿½E‹åº”用程åºä¸åQŒå¦‚æžœå¦ä¸€ä¸ªçº¿½E‹æ”¹å˜äº†å˜é‡çš„å€û|¼Œåˆ™åó@环永˜qœä¸ä¼šç»“æŸã€‚被‹¹‹è¯•的值永˜qœè¢«æ”‘Öœ¨å¯„å˜å™¨ä¸åQŒæ‰€ä»¥è¯¥ŒDµä»£ç 在多线½E‹çš„æƒ…况下,å˜åœ¨ä¸€ä¸ªå·¨å¤§çš„BUG。解å†Ïx–¹æ³•æ˜¯é‡æ–°
  写一‹Æ¡getKey函数åQŒåÆˆæŠŠå‚æ•°pch声明为volatile,代ç 如下åQ?/p>
  void getKey(volatile char* pch)
  {
  while (*pch == 0)
  ;
  }
  ˜q™æ¬¡çš„ä¿®æ”¹å¯¹äºŽéžæœ€ä¼˜åŒ–的版本没有ä“Q何媄å“,下é¢è¯ïLœ‹æœ€ä¼˜åŒ–åŽçš„¾l“æžœåQ?/p>
  ;{
  ; Load the address stored in pch
  mov eax, DWORD PTR _pch$[esp-4]
  ; while (*pch == 0)
  $L84:
  ; Directly compare the value to zero
  cmp BYTE PTR [eax], 0
  ; If still zero, try again
  je SHORT $L84
  ;
  ;}
  ˜q™æ¬¡çš„修改结果比较完¾ŸŽï¼Œåœ°å€ä¸ä¼šæ”¹å˜åQŒæ‰€ä»¥åœ°å€å£°æ˜Žè¢«ç§»åŠ¨åˆ°å¾ªçŽ¯ä¹‹å¤–ã€‚åœ°å€å†…容是volatile,所以毋ơåó@çŽ?br>  之ä¸å®ƒä¸æ–çš„è¢«é‡æ–°æ£€æŸ¥ã€?/p>
  把一个const volatileå˜é‡ä½œäØ“å‚æ•°ä¼ é€’ç»™å‡½æ•°æ˜¯åˆæ³•的。如æ¤çš„声明æ„味ç€å‡½æ•°ä¸èƒ½æ”¹å˜å˜é‡çš„å€û|¼Œä½†æ˜¯å˜é‡çš?br>  值å´å¯ä»¥è¢«å¦ä¸€ä¸ªçº¿½E‹åœ¨ä»ÖM½•æ—‰™—´æ”¹å˜æŽ‰ã€?/p>
  explicit关键å?/strong>
  我们在编写应用程åºçš„æ—¶å€™explicit关键å—基本上是很ž®‘ä‹Éç”?它的作用æ˜?¼›æ¢å•傿•°æž„é€ å‡½æ•?被用于自动型别è{æ?其䏿¯”较典型的例å就是容器类åž?在这¿Uç±»åž‹çš„æž„é€ å‡½æ•îC¸ä½ å¯ä»¥å°†åˆå§‹é•¿åº¦ä½œäØ“å‚æ•°ä¼ é€’ç»™æž„é€ å‡½æ•?
  例如:
ã€€ã€€ä½ å¯ä»¥å£°æ˜Žè¿™æ ·ä¸€ä¸ªæž„é€ å‡½æ•?/p>
  class Array
  {
  public:
  explicit Array(int size);
  ......
  };
  在这里explicit关键å—è“vç€è‡›_…³é‡è¦çš„作ç”?如果没有˜q™ä¸ªå…³é”®å—çš„è¯?˜q™ä¸ªæž„é€ å‡½æ•°æœ‰èƒ½åŠ›ž®†intè½¬æ¢æˆArray.一旦这¿U情况å‘ç”?ä½ å¯ä»¥ç»™Arrayæ”¯æ´¾ä¸€ä¸ªæ•´æ•°å€ÆD€Œä¸ä¼šå¼•èµ·ä“Q何的问题,比如:
  Array arr;
  ...
  arr = 40;
ã€€ã€€æ¤æ—¶,C++的自动型别è{æ¢ä¼šæŠ?0è½¬æ¢æˆæ‹¥æœ?0ä¸ªå…ƒç´ çš„Array,òq¶ä¸”指派¾l™arrå˜é‡,˜q™ä¸ª¾l“æžœæ ÒŽœ¬ž®×ƒ¸æ˜¯æˆ‘们想è¦çš„¾l“æžœ.如果我们ž®†æž„é€ å‡½æ•°å£°æ˜ŽäØ“explicit,上é¢çš„赋值æ“作就会导致编译器报错,使我们å¯ä»¥åŠæ—¶å‘现错è¯?éœ€è¦æ³¨æ„çš„æ˜?explicitåŒæ ·ä¹Ÿèƒ½é˜ÀL¢"ä»¥èµ‹å€ÆD¯æ³•进行带有è{åž‹æ“作的åˆå§‹åŒ?;
 例如:
  Array arr(40);//æ£ç¡®
  Array arr = 40;//错误
  看一下以下两¿Uæ“ä½?
  X x;
  Y y(x);//昑ּ¾cÕdž‹è½¬æ¢
  å¦ä¸€¿U?br>  X x;
  Y y = x;//éšå¼¾cÕdž‹è½¬æ¢
  ˜q™ä¸¤¿Uæ“作å˜åœ¨ä¸€ä¸ªå°ž®çš„差别,½W¬ä¸€¿Uæ–¹å¼å¼é€šè¿‡æ˜‘Ö¼¾cÕdž‹è½¬æ¢,æ ÒŽ®åž‹åˆ«x产生了型别Y的新对象;½W¬äºŒ¿Uæ–¹å¼é€šè¿‡éšå¼è½¬æ¢äº§ç”Ÿäº†ä¸€ä¸ªåž‹åˆ«Y的新对象.
  explicit关键å—的应用主覞®±æ˜¯ä¸Šé¢æ‰€è¯´çš„æž„é€ å‡½æ•°å®šä¹‰ç§,å‚考该关键å—的应用å¯ä»¥çœ‹çœ‹STLæºä»£ç ?å…¶ä¸å¤§é‡ä½¿ç”¨äº†è¯¥å…³é”®å?/p>
  __based关键å?/strong>
  该关键å—主è¦ç”¨æ¥è§£å†³ä¸€äº›å’Œå…׃ínå†…å˜æœ‰å…³çš„é—®é¢?它å…许指针被定义ä¸ÞZ»ŽæŸä¸€ç‚¹å¼€å§‹ç®—çš?2ä½å¿UÕd€?è€Œä¸æ˜¯å†…å˜ç§çš„ç»å¯¹ä½¾|?br>  举个例å:
  typedef struct tagDEMOSTRUCT {
  int a;
  char sz[10];
  } DEMOSTRUCT, * PDEMOSTRUCT;
  HANDLE hFileMapping = CreateFileMapping(...);
  LPVOID lpShare = (LPDWORD)MapViewOfFile(...);
  DEMOSTRUCT __based(lpShare)* lpDemo;
  上é¢çš„例å声明了一个指针lpDemo,内部储å˜çš„æ˜¯ä»ŽlpShare开始的åç§»å€?也就是lpHead是以lpShare为基准的åç§»å€?上é¢çš„例åç§çš„DEMOSTRUCTåªæ˜¯éšä¾¿å®šä¹‰çš„一个结æž?用æ¥ä»£è¡¨ä»ÀL„的结æž?
  虽然__based指针使用èµäh¥éžå¸¸å®ÒŽ˜“,但是,ä½ å¿…™åÕdœ¨æ•ˆçŽ‡ä¸Šä»˜å‡ÞZ¸€å®šçš„代äh.æ¯å½“ä½ ç”¨__basedæŒ‡é’ˆå¤„ç†æ•°æ®,CPU都必™åÖMØ“å®ƒåŠ ä¸ŠåŸºåœ°å€,æ‰èƒ½æŒ‡å‘真æ£çš„ä½¾|?
ã€€ã€€åœ¨è¿™é‡Œæˆ‘åªæ˜¯ä»‹ç»äº†å‡ ä¸ªåÆˆä¸æ—¶å¾ˆå¸¸è§çš„关键å—çš„æ„义å³ç”¨æ³?其他那些常è§çš„关键å—介ç»ä»–ä»¬çš„æ–‡ç« å·²¾l丞®‘了在这里就ä¸å†ä¸€ä¸€ä»‹ç»äº?希望˜q™äº›å†…容能对大家有一定的帮助!
 
åœ¨ç½‘ä¸Šçœ‹åˆ°çš„ä»‹ç»æ€§æ–‡ç« ,ä¸é”™
 1. ä¿ç•™å?br>
  C++ä¸ï¼Œä¿ç•™å—也¿U°å…³é”®å—åQŒå®ƒæ˜¯é¢„å…ˆå®šä¹‰å¥½çš„æ ‡è¯†ç¬¦ã€‚è§å…³é”®å—的解释ã€?br>
  2.关键å?br>
  C++ä¸å·²¾l被¾pÈ»Ÿå®šä¹‰ä¸ºç‰¹ŒDŠå«ä¹‰çš„一¾cÀL ‡è¯†ç¬¦ã€‚C++ä¸çš„关键嗿œ‰åQ?br>
  3.æ ‡è¯†½W?br>
  对å˜é‡ã€å‡½æ•°ã€æ ‡å·å’Œå…¶å®ƒå„ç§ç”¨æˆ·è‡ªå®šä¹‰å¯¹è±¡çš„命å。在C++ä¸ï¼Œæ ‡è¯†½W¦é•¿åº¦æ²¡æœ‰é™åˆÓž¼Œ½W¬ä¸€ä¸ªå—½W¦å¿…™åÀL˜¯å—æ¯æˆ–下划线åQŒå…¶åŽè‹¥æœ‰å—½W¦åˆ™å¿…é¡»ä¸ºå—æ¯ã€æ•°å—或下划¾UÑ€‚例如count2åQŒ_x是棼‹®çš„æ ‡è¯†½W¦åÅžå¼ï¼Œè€Œhello!åQ?th则是错误的。在C++䏿 ‡è¯†ç¬¦åŒºåˆ†å¤§å°å†™ï¼Œå¦å¤–æ ‡è¯†½W¦ä¸èƒ½å’ŒC++ä¸çš„关键å—相åŒï¼Œä¹Ÿä¸èƒ½å’Œå‡½æ•°åŒåã€?br>
  4.声明
  ž®†ä¸€ä¸ªæ ‡è¯†ç¬¦å¼•入一个作用域åQŒæ¤æ ‡è¯†½W¦å¿…™åÀLŒ‡æ˜Žç±»åž‹ï¼Œå¦‚æžœåŒæ—¶æŒ‡å®šäº†å®ƒæ‰€ä»£è¡¨çš„实体,则声明也是定义ã€?br>
  5.定义
  ¾l™æ‰€å£°æ˜Žçš„æ ‡è¯†ç¬¦æŒ‡å®šæ‰€ä»£è¡¨çš„实体ã€?br>
  6.å˜é‡
  æŸä¸ªä½œç”¨åŸŸèŒƒå›´å†…的命å对象ã€?br>
  7.帔R‡
  帔R‡æ˜¯ä¸æŽ¥å—½E‹åºä¿®æ”¹çš„固定å€û|¼Œå¯ä»¥æ˜¯ä“Qæ„æ•°æ®ç±»åž‹ã€‚å¯ä»¥ç”¨åŽç¼€å‡†ç¡®çš„æ˜q°æ‰€æœŸæœ›çš„常é‡ç±»åž‹ï¼Œå¦‚æÕQ点类型常é‡åœ¨æ•°å—åŽåŠ FåQŒæ— ½W¦å·æ•´åž‹å¸”R‡åŠ åŽ¾~€U½{‰ç‰ã€‚æ¤å¤–还有串帔R‡å¦?Please input yearåQ?åQŒå斜线å—符帔R‡å¦‚\n表示回èžR½W¦ã€?br>
  8. const说明½W?br>
  const是在å˜é‡å£°æ˜Žæˆ–函数声明时所用到的一个修饰符åQŒç”¨å®ƒæ‰€ä¿®é¥°çš„实体具有åªè¯Õd±žæ€§ã€?br>
  9. 输入
  当程åºéœ€è¦æ‰§è¡Œé”®ç›˜è¾“入时åQŒå¯ä»¥ä‹Éç”¨æŠ½å–æ“作付">>"从cin输入‹¹ä¸æŠ½å–å—符。如åQ?br>
  int myAge;
  cin >> myAge;
  10.输出
  当程åºéœ€è¦åœ¨å±å¹•上显½Cø™¾“出时åQŒå¯ä»¥ä‹É用æ’å…¥æ“作符"<<"å‘cout 输出‹¹ä¸æ’å…¥å—符。如åQ?br>
  cout << "This is a program. \n ";
  11.‹¹?br>
  ‹¹æ˜¯æ—¢äñ”生信æ¯åˆæ¶ˆè´¹ä¿¡æ¯çš„逻辑讑֤‡åQŒé€šè¿‡C++¾pÈ»Ÿå’Œç‰©ç†è®¾å¤‡å…³è”。C++çš„I/O¾pÈ»Ÿæ˜¯é€šè¿‡‹¹æ“作的。有两秾cÕdž‹çš„æµåQšæ–‡æœ¬æµåQŒäºŒ˜q›åˆ¶‹¹ã€?br>
  12.æ ‡å‡†è¾“å…¥è¾“å‡ºåº?br>
  它是C++æ ‡å‡†åº“çš„¾l„æˆéƒ¨åˆ†åQŒäØ“C++è¯è¨€æä¾›äº†è¾“入输出的能力ã€?br>
  13.内置数殾cÕdž‹
  由C++直接æä¾›çš„类型,包括intã€floatã€doubleã€char ã€boolã€æŒ‡é’ˆã€æ•°¾l„和引用ã€?br>
  14.å—符¾cÕdž‹
  包括 charã€signed charã€unsigned char三秾cÕdž‹ã€?br>
  15.æ•´æ•°¾cÕdž‹
  包括 shortã€?intã€long 三秾cÕdž‹ã€?br>
  16.long
  åªèƒ½ä¿®é¥° int , double.
  long int 指一¿U整数类型,它的长度大于½{‰äºŽintåž?
  long double 指长åŒç²¾åº¦ç±»åž?长度大于½{‰äºŽdoubleåž‹ã€?br>
  17.short
  一¿U长度少于或½{‰äºŽint型的整数¾cÕdž‹ã€?br>
  18.signed
  由它所修饰的类型是带符åïLš„. åªèƒ½ä¿®é¥° int å’?char .
  19.布尔�br>
  一¿Uæ•°æ®ç±»åž‹ï¼Œå…¶å€¼å¯ä¸ºï¼štrue, false 两ç§ã€?br>
  20.‹¹®ç‚¹¾cÕdž‹
  包括float, double , long double 三秾cÕdž‹ã€‚其典型特å¾è¡¨çŽ°ä¸ºæœ‰ž®¾æ•°æˆ–指数ã€?br>
  21.åŒç²¾åº¦ç±»åž?br>
  ‹¹®ç‚¹¾cÕdž‹ä¸çš„一¿U。在基本数殾cÕdž‹ä¸å®ƒæ˜¯ç²¾åº¦æœ€é«˜ï¼Œè¡¨ç¤ºèŒƒå›´æœ€å¤§çš„一¿Uæ•°æ®ç±»åž‹ã€?br>
  22.void¾cÕdž‹
  关键å—之一åQŒæŒ‡½Cºæ²¡æœ‰è¿”回信æ¯ã€?br>
  23.¾l“æž„¾cÕdž‹
  ¾cÈš„一¿U,其æˆå‘˜é»˜è®¤äØ“publicåž‹ã€‚å¤§å¤šç”¨ä½œæ— æˆå‘˜å‡½æ•°çš„æ•°æ®ç»“æž„ã€?br>
  24.æžšä‹D¾cÕdž‹
  一¿U用戯‚‡ªå®šä¹‰¾cÕdž‹åQŒç”±ç”¨æˆ·å®šä¹‰çš„值的集刾l„æˆã€?br>
  25.¾cÕdž‹è½¬æ¢
  一¿Uæ•°æ®ç±»åž‹è{æ¢äØ“å¦ä¸€¿U,包括昑ּ,éšå¼ä¸¤ç§æ–¹å¼ã€?br>
  26.指针
  一个ä¿å˜åœ°å€æˆ?的对象ã€?br>
  27. 函数指针
  æ¯ä¸ªå‡½æ•°éƒ½æœ‰åœ°å€åQŒæŒ‡å‘函数地å€çš„æŒ‡é’ˆç§°ä¸ºå‡½æ•°æŒ‡é’ˆï¼Œå‡½æ•°æŒ‡é’ˆæŒ‡å‘代ç åŒÞZ¸çš„æŸä¸ªå‡½æ•ŽÍ¼Œé€šè¿‡å‡½æ•°æŒ‡é’ˆå¯ä»¥è°ƒç”¨ç›¸åº”的函数。其定义形å¼ä¸ºï¼š
  int ( * func ) ( char a, char b);
  28.引用
  ä¸ÞZ¸€ä¸ªå¯¹è±¡æˆ–函数æä¾›çš„å¦ä¸€ä¸ªåå—ã€?br>
  29.链表
  一¿Uæ•°æ®ç»“构,ç”׃¸€ä¸ªä¸ªæœ‰åºçš„结点组æˆï¼Œæ¯ä¸ª¾l“点都是相匾cÕdž‹çš„结构,æ¯ä¸ª¾l“点都有一个指针æˆå‘˜æŒ‡å‘下一个结ç‚V€?br>
  30.数组
  数组是一个由若干åŒç±»åž‹å˜é‡ç»„æˆçš„集åˆã€?br>
  31.å—符ä¸?br>
ã€€ã€€æ ‡å‡†åº“ä¸çš„一¿Uæ•°æ®ç±»åž‹ï¼Œä¸€äº›å¸¸ç”¨æ“作符å¦?=åQ?=支æŒå…¶æ“作ã€?br>
  32.˜qç®—½W?br>
  内置的æ“作常用符åøP¼Œä¾‹å¦‚+,* ,& ½{‰ã€?br>
  33.å•ç›®˜qç®—½W?br>
  åªèƒ½å¯¹ä¸€ä¸ªæ“作数˜q›è¡Œæ“作
  34.åŒç›®˜qç®—½W?br>
  å¯å¯¹ä¸¤ä¸ªæ“作数进行æ“ä½?br>
  35.三目˜qç®—½W?br>
  å¯å¯¹ä¸‰ä¸ªæ“作数进行æ“ä½?br>
  36.½Ž—术˜qç®—½W?br>
  执行½Ž—术æ“ä½œçš„è¿½Ž—ç¬¦åQŒåŒ…括:+åQ?åQ?åQ?åQ?ã€?br>
  37.æ¡äšg˜qç®—½W?br>
  å??: " ã€?br>
ã€€ã€€å…¶è¯æ³•䨓åQ?br>
  (æ¡äšg表达å¼??(æ¡äšg为真时的表达å¼?åQ?æ¡äšgä¸ºå‡æ—¶çš„表达å¼?
  如:x = a < b ? a : b;
  相当�
  if ( a < b)
  x = a;
  else
  x = b;
  38.èµ‹å€ÆD¿½Ž—符
  å»I¼š" = "åŠå…¶æ‰©å±•èµ‹å€ÆD¿½Ž—符
  39.左�br>
ã€€ã€€èƒ½å‡ºçŽ°åœ¨èµ‹å€ÆD¡¨è¾‘ּ左边的表辑ּã€?br>
  40.å›_€?br>
ã€€ã€€èƒ½å‡ºçŽ°åœ¨èµ‹å€ÆD¡¨è¾‘ּ匙¾¹çš„表辑ּã€?br>
  41.˜qç®—½W¦çš„¾l“åˆæ€?br>
  指表辑ּä¸å‡ºçŽ°åŒ½{‰ä¼˜å…ˆçñ”çš„æ“作符时该先åšå“ªä¸ªçš„规定ã€?br>
  42.ä½è¿½Ž—符
  " & "," | " , " ^ "åQ? >> "åQ? << "
  43.逗巘qç®—½W?br>
  å? åQ?"
  44.逻辑˜qç®—½W?br>
  " && ", " || " ," ! "
  45.关系˜qç®—½W?br>
  ">",">=","<=","< "," <= ","== "
  46.new˜qç®—½W?br>
  对象创å¾çš„æ“ä½œç¬¦ã€?br>
  47.delete˜qç®—½W?br>
  对象释放æ“作½W¦ï¼Œè§¦å‘æžæž„函数ã€?br>
  48.å†…å˜æ³„露
  æ“ä½œå †å†…å˜æ—¶åQŒå¦‚果分é…了内å˜åQŒå°±æœ‰è´£ä»Õd›žæ”¶å®ƒåQŒå¦åˆ™è¿™å—内å˜å°±æ— æ³•é‡æ–°ä½¿ç”¨åQŒç§°ä¸ºå†…å˜æ³„æ¼ã€?br>
  49.sizeof˜qç®—½W?br>
  获得对象在内å˜ä¸çš„长度,以å—èŠ‚äØ“å•ä½ã€?br>
  50.表达�br>
  由æ“ä½œç¬¦å’Œæ ‡è¯†ç¬¦¾l„åˆè€ŒæˆåQŒäñ”生一个新的倹{€?br>
  51.½Ž—术表达å¼?br>
ã€€ã€€ç”¨ç®—æœ¯è¿½Ž—ç¬¦å’Œæ‹¬å·å°†˜q算对象(也称æ“作æ•?˜qžæŽ¥èµäh¥åQŒç¬¦åˆC++è¯æ³•规则的å¼åã€?br>
  52.关系表达�br>
  用关¾p»è¿½Ž—符和括å·å°†˜q算对象(也称æ“作æ•?˜qžæŽ¥èµäh¥åQŒç¬¦åˆC++è¯æ³•规则的å¼åã€?br>
  53.逻辑表达�br>
  用逻辑˜qç®—½W¦å’Œæ‹¬å·ž®†è¿½Ž—对è±?也称æ“作æ•?˜qžæŽ¥èµäh¥åQŒç¬¦åˆC++è¯æ³•规则的å¼åã€?br>
  54.èµ‹å€ÆD¡¨è¾‘Ö¼
  ç”Þpµ‹å€ÆD¿½Ž—符ž®†ä¸€ä¸ªå˜é‡å’Œä¸€ä¸ªè¡¨è¾‘Ö¼˜qžæŽ¥èµäh¥åQŒç¬¦åˆC++è¯æ³•规则的å¼åã€?br>
  55.逗å·è¡¨è¾¾å¼?br>
ã€€ã€€ç”±é€—å·æ“作½W¦å°†å‡ 个表达å¼è¿žæŽ¥è“væ¥ï¼Œ½W¦åˆC++è¯æ³•规则的å¼åã€?br>
  56.æ¡äšg表达å¼?br>
  由æ¡ä»¶è¿½Ž—符ž®†è¿½Ž—对象连接è“væ¥ï¼Œ½W¦åˆC++è¯æ³•规则的å¼åã€?br>
  57.è¯å¥
  在函æ•îC¸æŽ§åˆ¶½E‹åº‹¹ç¨‹æ‰§è¡Œçš„基本å•ä½ï¼Œå¦‚ifè¯å¥,whileè¯å¥,switchè¯å¥, doè¯å¥, 表达å¼è¯å¥ç‰ã€?br>
  58.å¤åˆè¯å¥
  ž®é—于大括å·{}内的è¯å¥åºåˆ—ã€?br>
  59.循环è¯å¥
  for è¯å¥, while è¯å¥, do è¯å¥ä¸‰ç§ã€?br>
  60.æ¡äšgè¯å¥
  åŸÞZºŽæŸä¸€æ¡äšg在两个选项ä¸é€‰æ‹©å…¶ä¸€çš„è¯å¥ç§°ä¸ºæ¡ä»¶è¯å¥ã€?br>  61.æˆå‘˜å‡½æ•°
  在类ä¸è¯´æ˜Žçš„函数¿UîCØ“æˆå‘˜å‡½æ•°ã€?br>
  62.全局函数
  定义在所有类之外的函数�br>
  63.main函数
  ç”Þq³»¾lŸè‡ªåŠ¨è°ƒç”¨å¼€å§‹æ‰§è¡ŒC++½E‹åºçš„第一个函æ•?br>
  64.外部函数
  在定义函数时åQŒå¦‚æžœå† ä»¥å…³é”®å—externåQŒè¡¨½Cºæ¤å‡½æ•°æ˜¯å¤–部函数ã€?br>
  65.内è”函数
  在函数å‰åŠ ä¸Šå…³é”®å—inline说明了一个内è”函敎ͼŒ˜q™ä‹É一个函数在½E‹åºè¡Œé‡Œ˜q›è¡Œä»£ç 扩展而ä¸è¢«è°ƒç”¨ã€‚è¿™æ ïLš„好处是凞®‘了函数调用的开销åQŒäñ”生较快的执行速度。但是由于é‡å¤ç¼–ç 会产生较长代ç åQŒæ‰€ä»¥å†…è”函数通常都éžå¸¸å°ã€‚如果一个函数在¾c»è¯´æ˜Žä¸å®šä¹‰åQŒåˆ™ž®†è‡ªåЍè{æ¢æˆå†…è”å‡½æ•°è€Œæ— éœ€ç”¨inline说明ã€?br>
  66.函数é‡è²
  在åŒä¸€ä½œç”¨åŸŸèŒƒå›´å†…åQŒç›¸åŒçš„函数å通过ä¸åŒçš„傿•°ç±»åž‹æˆ–傿•°ä¸ªæ•°å¯ä»¥å®šä¹‰å‡ 个函数åQŒç¼–译时¾~–译器能够识别实å‚的个数和类型æ¥å†›_®šè¯¥è°ƒç”¨å“ªä¸ªå…·ä½“å‡½æ•°ã€‚éœ€è¦æ³¨æ„的是,如果两个函数仅仅˜q”回¾cÕdž‹ä¸åŒåQŒåˆ™¾~–è¯‘æ—¶å°†ä¼šå‡ºé”™ï¼Œå› äØ“˜q”回¾cÕdž‹ä¸èƒö以æä¾›èƒö够的信æ¯ä»¥ä‹É¾~–译½E‹åºåˆ¤æ–该ä‹É用哪个函数。所以函数é‡è½½æ—¶å¿…é¡»æ˜¯å‚æ•°ç±»åž‹æˆ–者数é‡ä¸åŒã€?br>
  67.函数覆盖
  对基¾cÖM¸çš„虚函数åQŒæ´¾ç”Ÿç±»ä»¥ç›¸åŒçš„函数ååŠå‚æ•°é‡æ–°å®žçް之ã€?br>
  68.函数声明
  在C++ä¸ï¼Œå‡½æ•°å£°æ˜Žž®±æ˜¯å‡½æ•°åŽŸåž‹åQŒå®ƒæ˜¯ä¸€æ¡ç¨‹åºè¯å¥ï¼Œå›_®ƒå¿…须以分åïL»“æŸã€‚它有函数返回类型,函数åå’Œå‚æ•°æž„æˆåQŒåÅžå¼äØ“åQ?br>
  ˜q”回¾cÕdž‹ function (傿•°è¡?;
ã€€ã€€å‚æ•°è¡¨åŒ…嫿‰€æœ‰å‚数的数殾cÕdž‹åQŒå‚æ•îC¹‹é—´ç”¨é€—å·åˆ†å¼€ã€‚å¦‚ä¸‹å‡½æ•°å£°æ˜Žéƒ½æ˜¯åˆæ³•çš„ã€?br>
  int Area(int length , int width ) ;
  �int Area ( int , int ) ;
  69.函数定义
  函数定义与函数声明相对应åQŒæŒ‡å‡½æ•°çš„具体实玎ͼŒå›_Œ…括函æ•îC½“。如åQ?br>
  int Area( int length , int width )
  {
  // other program statement
  }
  70.函数调用
  指定被调用函数的åå—和调用函数所需的信æ?傿•°)ã€?br>
  71.函数å?br>
  与函æ•îC½“相对åQŒå‡½æ•°è°ƒç”¨æ—¶å¼•用ä¹?br>
  72.函数¾cÕdž‹
  (1) 获å–函数òq¶è¿”回倹{€?br>
  (2) 获å–函数但丘q”回倹{€?br>
  (3) 没有获å–傿•°ä½†è¿”回倹{€?br>
  (4) 没有获å–傿•°ä¹Ÿä¸˜q”回倹{€?br>
  73.å½¢å¼å‚æ•°
  函数ä¸éœ€è¦ä‹É用å˜å…ƒæ—¶åQŒå°†åœ¨å‡½æ•°å®šä¹‰æ—¶è¯´æ˜Žéœ€è¦æŽ¥å—çš„å˜å…ƒåQŒè¿™äº›å˜å…ƒç§°ä¸ºåÅžå¼å‚数。åÅžå¼å‚æ•°å¯¹åº”äºŽå‡½æ•°å®šä¹‰æ—¶çš„å‚æ•°è¯´æ˜Žã€‚其使用与局部å˜é‡ç±»ä¼¹{€?br>
  74.å®žé™…å‚æ•°
  当需è¦è°ƒç”¨å‡½æ•°æ—¶åQŒå¯¹åº”该函数需è¦çš„å˜å…ƒæ‰€¾l™å‡ºçš„æ•°æ®ç§°ä¸ºå®žé™…傿•°ã€?br>
  75.å€ég¼ é€?br>
  函数调用时åÅžå‚仅得到实å‚çš„å€û|¼Œè°ƒç”¨¾l“æžœä¸ä¼šæ”¹å˜å®žå‚的倹{€?br>
  76.å¼•ç”¨ä¼ é€?br>
  函数调用时åÅžå‚äØ“å®žå‚的引用,调用¾l“果会改å˜å®žå‚的倹{€?br>
  77.递归
  函数的自我调用称为递归。毋ơ调用是应该有ä¸åŒçš„傿•°åQŒè¿™æ ·é€’å½’æ‰èƒ½¾lˆæ¢ã€?br>
  78.函数�br>
  与函数å相对åQŒæŒ‡å‡½æ•°æœ€å¤–边由{}括è“væ¥çš„部分ã€?br>
  79.作用�br>
ã€€ã€€æŒ‡æ ‡è¯†ç¬¦åœ¨ç¨‹åºä¸æœ‰æ•ˆçš„范å›ß_¼Œä¸Žå£°æ˜Žä½¾|®æœ‰å…»I¼Œä½œç”¨åŸŸå¼€å§‹äºŽæ ‡è¯†½W¦çš„生命处。分åQšå±€éƒ¨ä½œç”¨åŸŸåQŒå‡½æ•îC½œç”¨åŸŸåQŒå‡½æ•°åŽŸåž‹ä½œç”¨åŸŸåQŒæ–‡ä»¶ä½œç”¨åŸŸåQŒç±»ä½œç”¨åŸŸã€?br>
  80.局部作用域
ã€€ã€€å½“æ ‡è¯†ç¬¦çš„å£°æ˜Žå‡ºçŽ°åœ¨ç”׃¸€å¯¹èŠ±æ‹¬å·æ‰€æ‹¬è“væ¥çš„一ŒD늨‹åºå†…æ—Óž¼Œè¯¥æ ‡½Cºç¬¦çš„作用域从声明点开始到å—结æŸå¤„为æ¢åQŒæ¤ä½œç”¨åŸŸçš„范围å…ähœ‰å±€éƒ¨æ€§ã€?br>
  81.全局作用�br>
ã€€ã€€æ ‡è¯†½W¦çš„声明出现在函敎ͼŒ¾cÖM¹‹å¤–,å…ähœ‰å…¨å±€æ€§ã€?br>
  82.¾cÖM½œç”¨åŸŸ
  指类定义和相应的æˆå‘˜å‡½æ•°å®šä¹‰èŒƒå›´ã€?br>
  83.全局å˜é‡
  定义在ä“Q何函æ•îC¹‹å¤–,å¯ä»¥è¢«ä“Q一模å—使用åQŒåœ¨æ•´ä¸ª½E‹åºæ‰§è¡ŒæœŸé—´ä¿æŒæœ‰æ•ˆã€‚å½“å‡ ä¸ªå‡½æ•°è¦å…±äº«åŒä¸€æ•°æ®æ—¶å…¨å±€å˜é‡ž®†å分有效,但是使用全局å˜é‡æ˜¯æœ‰ä¸€å®šå¼Šç«¯çš„åQšå…¨å±€å˜é‡ž®†åœ¨æ•´ä¸ª½E‹åºæ‰§è¡ŒæœŸé—´å 有执行½Iºé—´åQŒå³ä½¿å®ƒåªåœ¨ž®‘æ•°æ—‰™—´è¢«ç”¨åˆ?大é‡ä½¿ç”¨å…¨å±€å˜é‡ž®†å¯¼è‡´ç¨‹åºæØœä¹±ï¼Œç‰¹åˆ«æ˜¯åœ¨½E‹åºè¾ƒå¤æ‚æ—¶å¯èƒ½å¼•è“v错误ã€?br>
  84.局部å˜é‡?br>
  定义在函数内部的å˜é‡ã€‚局部å˜é‡åªåœ¨å®šä¹‰å®ƒçš„æ¨¡å—内部è“v作用åQŒå½“è¯¥æ®µä»£ç ¾l“æŸåQŒè¿™ä¸ªå˜é‡å°±ä¸å˜åœ¨äº†ã€‚也ž®±æ˜¯è¯´ä¸€ä¸ªå±€éƒ¨å˜é‡çš„生命期就是它所在的代ç å—的执行期,而当˜q™æ®µä»£ç 冿¬¡è¢«æ‰§è¡Œæ—¶è¯¥å±€éƒ¨å˜é‡å°†é‡æ–°è¢«åˆå§‹åŒ–而ä¸ä¼šä¿æŒä¸Šä¸€‹Æ¡çš„倹{€‚éœ€è¦æ³¨æ„的是,如果ä¸È¨‹åºå’Œå®ƒçš„一个函数有é‡åçš„å˜é‡ï¼Œå½“函数被调用时这个å˜é‡ååªä»£è¡¨å½“å‰å‡½æ•îC¸çš„å˜é‡ï¼Œè€Œä¸ä¼šåª„å“主½E‹åºä¸çš„åŒåå˜é‡ã€?br>
  85.自动å˜é‡
  由auto修饰åQŒåЍæ€åˆ†é…å˜å‚¨ç©ºé—ß_¼Œå˜å‚¨åœ¨åЍæ€å˜å‚¨åŒºä¸ï¼Œå¯¹ä»–们分é…和释放å˜å‚¨½Iºé—´çš„工作是ç”Þq¼–译系¾lŸè‡ªåЍ处ç†çš„ã€?br>
  86.寄å˜å™¨å˜é‡?br>
  å˜å‚¨åœ¨è¿½Ž—器ä¸çš„寄å˜å™¨é‡Œçš„å˜é‡ï¼Œå¯æé«˜æ‰§è¡Œæ•ˆçއã€?br>
  87.陿€å˜é‡?br>
  ç”Þp¿žæŽ¥å™¨åˆ†é…åœ¨é™æ€å†…å˜ä¸çš„å˜é‡ã€?br>
  88.¾c?br>
  一¿U用戯‚‡ªå®šä¹‰¾cÕdž‹åQŒæœ‰æˆå‘˜æ•°æ®åQŒæˆå‘˜å‡½æ•ŽÍ¼Œæˆå‘˜å¸”R‡åQŒæˆå‘˜ç±»åž‹ç»„æˆã€‚类是æå™C++概念的三个基本机制之一ã€?br>
  89.外部å˜é‡
  由extern修饰的å˜é‡?br>
  90.å ?br>
  匙‡ªç”±å˜å‚¨åŒºåQŒnew å’Œdelete 都是在这里分é…和释放内å˜å—ã€?br>
  91.æ ?br>
  有两个å«ä¹‰ï¼š(1)指内å˜ä¸ä¸ºå‡½æ•°ç»´æŠ¤å±€éƒ¨å˜é‡çš„区域ã€?2)指先˜q›åŽå¤„çš„åºåˆ—ã€?br>
  92.抽象¾c?br>
  臛_°‘包å«ä¸€ä¸ªçº¯è™šå‡½æ•°çš„¾c…R€‚抽象类ä¸èƒ½åˆ›å¾å¯¹è±¡åQŒä½†å¯ä»¥åˆ›å¾æŒ‡å‘抽象¾cÈš„指针åQŒå¤šæ€æœºåˆ¶å°†æ ÒŽ®åŸºç±»æŒ‡é’ˆé€‰æ‹©ç›¸åº”的虚函数ã€?br>
  93.嵌套¾c?br>
  在一个类里å¯ä»¥å®šä¹‰å¦ä¸€ä¸ªç±»åQŒè¢«åµŒå…¥¾cÕdªåœ¨å®šä¹‰å®ƒçš„类的作用域里有效ã€?br>
  94.局部类
  在函æ•îC¸å®šä¹‰çš„类。注æ„在函数外这个局部类是ä¸å¯çŸ¥çš„。由于局部类的说明有很多é™åˆ¶åQŒæ‰€ä»¥åƈä¸å¸¸è§ã€?br>
  95.基类
  被ç‘ô承的¾cȧ°ä¸ºåŸº¾c»ï¼Œåˆç§°çˆ¶ç±»ã€è¶…¾cÀLˆ–范化¾c…R€‚它是一些共有特性的集åˆåQŒå¯ä»¥æœ‰å…¶å®ƒ¾cÈ‘ô承它åQŒè¿™äº›ç±»åªå¢žåŠ å®ƒä»¬ç‹¬æœ‰çš„ç‰ÒŽ€§ã€?br>
  96.‹z„¡”Ÿ¾c?br>
  ¾l§æ‰¿çš„ç±»¿UîCØ“‹z„¡”Ÿ¾c…R€‚派生类å¯ä»¥ç”¨æ¥ä½œäØ“å¦ä¸€ä¸ªæ´¾ç”Ÿç±»çš„基¾c»ï¼Œå®žçŽ°å¤šé‡¾l§æ‰¿ã€‚一个派生类也å¯ä»¥æœ‰ä¸¤ä¸ªæˆ–两个以上的基类。定义时在类ååŽåŠ?åQšè¢«¾l§æ‰¿¾cÕd"å›_¯ã€?br>
  97.父类
  å›_Ÿº¾c…R€‚è§95基类的解释ã€?br>
  98.åç±»
  åÏx´¾ç”Ÿç±»ã€‚è§96‹z„¡”Ÿ¾cÈš„解释ã€?br>
  99.对象
  有两é‡å«ä¹‰ï¼š
  1. 内å˜ä¸å«æœ‰æŸ¿Uæ•°æ®ç±»åž‹å€¼çš„邻近的区域ã€?br>
  2. æŸç§æ•°æ®¾cÕdž‹çš„命å的或未命åçš„å˜é‡ã€‚ä¸€ä¸ªæ‹¥æœ‰æž„é€ å‡½æ•°çš„¾cÕdž‹å¯¹è±¡åœ¨æž„é€ å‡½æ•°å®Œæˆæž„é€ ä¹‹å‰ä¸èƒ½è®¤ä¸ºæ˜¯ä¸€ä¸ªå¯¹è±¡ï¼Œåœ¨æžæž„å‡½æ•°å®Œæˆæžæž„以åŽä¹Ÿä¸å†è®¤äؓ它是一个对象ã€?br>
  100. æ•°æ®æˆå‘˜
  指类ä¸å˜å‚¨æ•°æ®çš„å˜é‡ã€?br>
  101.实例�br>
  å›_¾ç«‹ç±»çš„一个对象ã€?br>
  102.æž„é€ å‡½æ•?br>
  是一个类的实例的åˆå§‹åŒ–函敎ͼŒž®†åœ¨ç”Ÿæˆ¾cÈš„实例时被自动调用åQŒç”¨äºŽå®Œæˆé¢„先的åˆå§‹åŒ–工作。一个类å¯ä»¥æœ‰å‡ ä¸ªæž„é€ å‡½æ•ŽÍ¼Œä»¥ä¸åŒçš„傿•°æ¥åŒºåˆ«ï¼ŒåÏxž„é€ å‡½æ•°å¯ä»¥è¢«é‡è²åQŒä»¥ä¾¿ä¸åŒçš„æƒ…况下äñ”生ä¸åŒçš„åˆå§‹åŒ?也å¯ä»¥æ²¡æœ‰æž„é€ å‡½æ•ŽÍ¼Œæ¤æ—¶¾pÈ»Ÿž®†è°ƒç”¨ç¼ºçœçš„½Iºæž„é€ å‡½æ•°ã€‚éœ€è¦æ³¨æ„çš„æ˜¯æž„é€ å‡½æ•°æ²¡æœ‰è¿”å›žç±»åž‹ã€?br>
  103.æˆå‘˜åˆå§‹åŒ–表
  æˆå‘˜åˆå§‹åŒ–表å¯ç”¨äºŽåˆå§‹åŒ–¾cÖM¸çš„ä“Qä½•æ•°æ®æˆå‘˜ï¼Œæ”‘Öœ¨æž„é€ å‡½æ•°å¤´ä¸Žæž„é€ å‡½æ•îC½“之间åQŒç”¨"åQ?ä¸Žæž„é€ å‡½æ•°å¤´åˆ†å¼€åQŒè¢«åˆå§‹åŒ–çš„æ•°æ®æˆå‘˜çš„值出现在一å¯ÒŽ‹¬å¼§ä¹‹é—ß_¼Œå®ƒä»¬ä¹‹é—´ç”¨é€—å·åˆ†å¼€ã€?br>
  104.æžæž„函数
  是一个类的实例的回收函数åQŒå°†åœ¨è¯¥å®žä¾‹¾l“æŸä½¿ç”¨å‰è¢«è‡ªåŠ¨è°ƒç”¨åQŒç”¨äºŽå®Œæˆèµ„æºçš„释放。一个类åªå¯ä»¥æœ‰ä¸€ä¸ªæžæž„函敎ͼŒå½“æžæž„函数执行åŽ,该实例将ä¸å¤å˜åœ¨ã€‚æžæž„å‡½æ•°åŒæ äh²¡æœ‰è¿”回倹{€?br>
  105.è™šæžæž„函æ•?br>
  由virtual ä¿®é¥°çš„æžæž„函敎ͼŒå½“用基类指针释放‹z„¡”Ÿ¾cÕd¯¹è±¡æ—¶å¯æ ¹æ®å®ƒæ‰€æŒ‡å‘的派生类对象释放准确的对象ã€?br>
  106.¾l§æ‰¿
  é¢å‘对象的程åºè®¾è®¡è¯a€çš„特点之一。å³ä¸€ä¸ªå¯¹è±¡èŽ·å¾—å¦ä¸€ä¸ªå¯¹è±¡çš„ç‰ÒŽ€§çš„˜q‡ç¨‹ã€‚如ž®†å…¬å…±å±žæ€§å’ŒæœåŠ¡æ”‘Öˆ°åŸºç±»ä¸ï¼Œè€Œå®ƒçš„å„‹z„¡”Ÿ¾c»é™¤äº†æœ‰å„自的特有属性和æœåŠ¡å¤–è¿˜å¯ä»¥å…׃ín基类的公共属性和æœåŠ¡ã€‚è¿™æ ïLš„好处是容易å¾ç«‹ä½“¾p»ï¼Œå¢žå¼ºä»£ç é‡å¤æ€§ã€?br>
  107.å•ç‘ôæ‰?br>
ã€€ã€€ä¸€ä¸ªæ´¾ç”Ÿç±»åªæœ‰ä¸€ä¸ªåŸº¾c»ï¼ŒæˆäØ“å•ç‘ôæ‰Ñ€?br>
  108.é‡ç‘ôæ‰?br>
  一个派生类拥有多个基类åQŒæˆä¸ºå¤š¾l§æ‰¿ã€?br>
  109.虚函�br>
  在基¾cÖM¸è¯´æ˜Žä¸ºvirtualòq¶åœ¨‹z„¡”Ÿ¾cÖM¸é‡å®šä¹‰çš„函数。é‡å®šä¹‰ž®†å¿½ç•¥åŸº¾cÖM¸çš„函数定义,指明了函数执行的实际æ“作。当一个基¾cÀLŒ‡é’ˆæŒ‡å‘包å«è™šå‡½æ•°çš„æ´¾ç”Ÿå¯¹è±¡æ—¶åQŒC++ž®†æ ¹æ®æŒ‡é’ˆæŒ‡å‘的对象¾cÕdž‹æ¥å†³å®šè°ƒç”¨å“ªä¸€ä¸ªå‡½æ•ŽÍ¼Œå®žçŽ°äº†è¿è¡Œæ—¶çš„å¤šæ€æ€§ã€‚这里的é‡å®šä¹‰ç±»ä¼égºŽå‡½æ•°é‡è²åQŒä¸åŒçš„æ˜¯é‡å®šä¹‰çš„虚函数的原型必™åÕd’ŒåŸºç±»ä¸æŒ‡å®šçš„函数原型完全匚w…ã€‚æž„é€ å‡½æ•îC¸èƒ½æ˜¯è™šå‡½æ•ŽÍ¼Œè€Œæžæž„函数则å¯ä»¥æ˜¯ã€?br>
  110.¾U¯è™šå‡½æ•°
  在基¾cÖM¸åªæœ‰å£°æ˜Žæ²¡æœ‰å®žçŽ°çš„è™šå‡½æ•°ã€‚åÅžå¼äØ“åQ?br>
  virtual type funname(paralist)=0ã€‚è¿™æ—¶åŸºå‡½æ•°åªæä¾›æ´¾ç”Ÿç±»ä½¿ç”¨çš„æŽ¥å£ï¼Œä»ÖM½•¾c»è¦ä½¿ç”¨å¿…é¡»¾l™å‡ºè‡ªå·±çš„定义ã€?br>
  111.å¤šæ€æ€?br>
  ¾l™ä¸åŒç±»åž‹çš„实体æä¾›å•一接å£ã€‚虚函数通过基类接å£å®žçŽ°åŠ¨æ€å¤šæ€æ€§ï¼Œé‡è²å‡½æ•°å’Œæ¨¡æ¿æä¾›äº†é™æ€å¤šæ€æ€§ã€?br>
  112.å¤åˆ¶æž„é€ å‡½æ•?br>
  以自íw«ç±»å¯¹è±¡ä¸ºå‚æ•°çš„æž„é€ å‡½æ•ŽÍ¼Œå¦‚Z::Z(const Z&). 用在åŒç±»å¯¹è±¡é—´è¿›è¡Œåˆå§‹åŒ–ã€?br>
  113.˜qç®—½W¦é‡è½?br>
  C++ä¸å¯ä»¥é‡è½½åŒç›?å¦?åQ?#215;½{?å’Œå•ç›?å¦?+)æ“作½W¦ï¼Œ˜q™æ ·å¯ä»¥ä½¿ç”¨æˆ·åƒä½¿ç”¨åŸºæœ¬æ•°æ®¾cÕdž‹é‚£æ ·å¯¹è‡ªå®šä¹‰¾cÕdž‹(¾c?çš„å˜é‡è¿›è¡Œæ“作,增强了程åºçš„å¯è¯»æ€§ã€‚å½“ä¸€ä¸ªè¿½Ž—ç¬¦è¢«é‡è½½åŽåQŒå®ƒž®†å…·æœ‰å’ŒæŸä¸ª¾cÈ›¸å…³çš„å«ä¹‰åQŒåŒæ—¶ä»ž®†ä¿æŒåŽŸæœ‰å«ä¹‰ã€?br>
  114.陿€æˆå‘˜å‡½æ•?br>
  æˆå‘˜å‡½æ•°é€šè¿‡å‰é¢åŠ staticè¯´æ˜Žä¸ºé™æ€çš„åQŒä½†æ˜¯é™æ€æˆå‘˜å‡½æ•°åªèƒ½å˜å–ç±»çš„å…¶ä»–é™æ€æˆå‘˜ï¼Œè€Œä¸”没有thisæŒ‡é’ˆã€‚é™æ€æˆå‘˜å‡½æ•°å¯ä»¥ç”¨æ¥åœ¨åˆ›å¾å¯¹è±¡å‰é¢„åˆå§‹åŒ–ä¸“æœ‰çš„é™æ€æ•°æ®ã€?br>
  115.陿€æˆå‘˜å˜é‡?br>
  在æˆå‘˜å˜é‡ä¹‹å‰åŠ static关键å—将使该å˜é‡¿UîCØ“é™æ€æˆå‘˜å˜é‡ï¼Œè¯¥ç±»æ‰€æœ‰çš„对象ž®†å…±äº«è¿™ä¸ªå˜é‡çš„åŒä¸€æ‹¯‚´ã€‚å½“å¯¹è±¡åˆ›å¾æ—Óž¼Œæ‰€æœ‰é™æ€å˜é‡åªèƒ½è¢«åˆå§‹åŒ–䨓0。ä‹Éç”¨é™æ€æˆå‘˜å˜é‡å¯ä»¥å–代全局å˜é‡åQŒå› 为全局å˜é‡æ˜¯è¿èƒŒé¢å‘对象的½E‹åºè®¾è®¡çš„å°è£…性的ã€?br>
  116.¿U有æˆå‘˜
  åªèƒ½ç”Þp‡ªíw«ç±»è®‰K—®çš„æˆå‘˜ã€?br>
  117.ä¿æŠ¤æˆå‘˜
  åªèƒ½ç”Þp‡ªíw«ç±»åŠå…¶‹z„¡”Ÿ¾c»è®¿é—®çš„æˆå‘˜ã€?br>
  118.å‹å…ƒ
  被柾cÀL˜Ž¼‹®æŽˆæƒå¯è®‰K—®å…¶æˆå‘˜çš„函数和类ã€?br>
  119.å‹å…ƒå‡½æ•°
  在函数å‰åŠ ä¸Šå…³é”®å—friend匙¯´æ˜Žäº†ä¸€ä¸ªå‹å…ƒå‡½æ•ŽÍ¼Œå‹å…ƒå‡½æ•°å¯ä»¥å˜å–¾cÈš„æ‰€æœ‰ç§æœ‰å’Œä¿æŠ¤æˆå‘˜ã€‚å‹å…ƒåœ¨é‡è²˜qç®—½W¦æ—¶æœ‰æ—¶æ˜¯å¾ˆæœ‰ç”¨çš„ã€?br>
  120.å‹å…ƒ¾c?br>
  被柾cÀL˜Ž¼‹®æŽˆæƒå¯è®‰K—®å…¶æˆå‘˜çš„¾c?br>
  121.例外处ç†
ã€€ã€€æŠ¥å‘Šå±€éƒ¨æ— æ³•å¤„ç†æŸé”™è¯¯çš„基本方å¼ã€‚ç”±try.åQ?throw , catch¾l„æˆã€?br>
  122.æ–‡äšg
  是用于从¼‚盘文äšgåˆ°ç»ˆç«¯æˆ–æ‰“å°æœºçš„ä»ÖM½•东西。æµé€šè¿‡å®Œæˆæ‰“å¼€æ“ä½œä¸ŽæŸæ–‡äšg建立è”ç³»ã€?br>