现在的位置: 首页 > 综合 > 正文

4.3.1创建动态数组

2013年02月06日 ⁄ 综合 ⁄ 共 665字 ⁄ 字号 评论关闭

1.动态数组的定义

int *pi = new int[10]; 

如果数组元素具有类类型,则使用该类的默认构造函数初始化元素

如果是内置,则无初始化

可以使用()进行强制初始化

int *pi = new int[10]();

2.const对象的动态数组

const int *pi  =  new  const in[10]();  //必须使用()初始化

允许类类型,但必须提供默认构造函数

const string * st = new const string[10];

3.允许动态分配空数组

Code:
  1. #include <iostream>   
  2. #include <string>   
  3. using namespace std;   
  4. int get_size(void);   
  5. int main()   
  6. {   
  7.     //int *pi = new int[10]();   
  8.     //string *spi = new string[10];   
  9.     //int *pi = new const int[10]();   
  10.     size_t n = get_size();   
  11.     int *pi = new int[n];  //允许大小为0,返回非0指针,但无法解引用   
  12.     for(int *q=pi;q!=pi+n;q++)   
  13.     {   
  14.         cout << *q;   
  15.     }   
  16. }   
  17.   
  18. int get_size()   
  19. {   
  20.     return 0;   
  21. }  

4.动态空间的释放

delete[] 表达式: delete [] pia; //将内存返回自由存储区

 

抱歉!评论已关闭.