C++ 使用指针动态创建数组

为了节约内存,作者曾一度疯狂,希望能够使数组在运行时Uers指定长度创建数组。发现在C++中 vector 模块类 可以解决这个问题。再使用过 vector 模块类 后,我开始发现原来 vector 其实是使用C++指针的new运算符建立的,于是拿起《C++ Primer Plus》开始啃其原理。

使用指针动态创建数组,总结如下:

  1. 创建
    格式:
typeName * pName = new typeName  [size]

第一个typeName是储存地址的指针的类型,第二个typeName是数组的类型,最后这里的size可以是变量,意味着可以在运行阶段创建动态的数组,而不再是在编译阶段确定的常量(内存福音~)

  1. 使用
    直接像数组那样通过下标访问元素,栗子:
int * book = new int [num];
for(int i=0;i!=num;i++)
    {
        cin>>book[i];
    }
  1. 释放内存
    切记切记!
    用完指针必释放内存,否则内存可能崩溃!(就如你借书了不换,后面借书的人自然借到的书越来越少)
delete [] book;

栗子:

#include 

using namespace std;

int main()
{
    int num;
    cout<<"How many?"<>num;
    int * book = new int [num];
    for(int i=0;i!=num;i++)
    {
        cin>>book[i];
    }
    
    delete [] book;
    system("pause");
    return 0;
}

Now,enjoy your code!

你可能感兴趣的:(C++ 使用指针动态创建数组)