原创 free/delete與野指針

一、free與delete把指針怎麼了?         用free或delete 作用於指向堆內存的指針上,發生了什麼?        它們只是把指針指向的內存釋放掉,而並沒有把指針本身釋放掉,甚至連指針的值都沒有改變。即,它們作用

原创 C++強制類型轉換--dynamic_cast操作符

dynamic_cast: 形式dynamic_cast < type > ( expression ),將expression轉換爲type類型。 用於: 繼承關係中的基類和派生類之間的指針或引用的變換,特別是能用dynamic

原创 二叉樹遍歷算法

一、非遞歸算法 1、先序遍歷 先訪問根節點,遍歷左子樹,遍歷右子樹 ABDEGHCF 2、中序遍歷 遍歷左子樹,訪問根節點,遍歷右子樹 DBGEHAFC 3、後序遍歷 遍歷左子樹,遍歷右子樹,訪問根節點 DGHEBFCA 二、遞歸

原创 const與指針

聲明指針時,可以在類型前或後使用關鍵字const,也可在兩個位置都使用。例如,下面都是合法的聲明,但是含義大不同: const int * pOne;    //指向整形常量 的指針,它指向的值不能修改 int * const pT

原创 數組中a和&a的區別

#include<stdio.h> int main(void) {      int a[5]={1,2,3,4,5};      int *ptr=(int *)(&a+1);   //&a代表整個數組的地址,+1應該加上sizeo

原创 排序算法總結

原创 c語言,迷宮最短路徑

 #include <stdio.h> #include <stdlib.h> #include <time.h> #define MAX 30//迷宮最大30*30 #define ENDS -2//端點位置標記爲-2 #define

原创 C++delete和delete[]區別

我們通常從教科書上看到這樣的說明: delete 釋放new分配的單個對象指針指向的內存 delete[] 釋放new分配的對象數組指針指向的內存 那麼,按照教科書的理解,我們看下下面的代碼: int *a = new int[10];

原创 用C++設計一個不能被繼承的類

分析:這是Adobe  公司 2007  年校園招聘的最新筆試題。這道題除了考察應聘者的 C++  基本功底外,還能考察反應能力,是一道很好的題目。  在Java  中定義了關鍵字 final  ,被 final  修飾的類不能被繼