指針
void*指針
void*指針可以保存任何類型的對象地址,不過void*指針不能修改指向對象的值.
創建動態數組
c++語言中,可以使用new和delete實現動態內存的創建和銷燬
動態數組的定義
例:int* pia=new int[10];//分配了一個10個int型元素數組,並返回該數組元素的第一個指針.用於初始化pia指針
初始化動態分配數組
int* pia=new int[10]();//10個元素初始化爲0
int* pia=new int[10](5);//10個元素初始化爲5
const對象的動態數組
const int* pci_bad=new const int[100];//錯,沒有初始化值
cosnt int* pci_ok=new const int[100]();//對,初始化了.沒有動態分配的初始化時,此類型必須提供默認構造函數
動態空間釋放
delete [] pia;//不能少了方括號
新舊代碼兼容
混合使用string和c風格字符串
string st("abc");
const char* str=st.c_str()//返回第一個元素的const char*指針並以結束符null結束.
使用數組初始化vector對象
int array[6]={1,2,3,4,5,6};
vector<int> vc(array,array+6);
指針和多維數組
int ia[3][4];
int (*ip)[4]=&ia[2];//圓括號不能少,指向第2列4個元素的數組 從內往外閱讀*ip是一個int [4]類型-ip是一個指向4個元素數組的指針.
用typedef簡化指向多維數組的指針
typedef int int_array[4];
int_array *ip=ia;