动态创建数组
来源:互联网 发布:单片机lcd1602日历程序 编辑:程序博客网 时间:2024/04/28 04:40
使用运算符new也可以创建数组类型的对象,这时需要给出数组的结构说明。用new运算符动态创建一维数组的语法形式为:
new 类型名【数组长度】;
其中数组长度指出了数组元素的个数,它可以是任何能够得到正整数值的表达式。
细节:
用new动态创建一维数组时,在方括号后仍然可以加小括号“()”,但小括号内不能带任何参数。是否加“()”的区别在于,不加“()”,则对数组每个元素的初始化,与执行“new T”时所进行初始化的方式相同;加“()”,则与执行“new T()”所进行初始化的方式相同。例如,如果这样动态生成一个整型数组:
int *p=new int[10] ();
则可以方便地为动态创建的数组用0值初始化。
如果是用new建立的数组,用delete删除时所在指针名前面要加上“【】”,格式如下:
delete[] 指针名;
#include<iostream>using namespace std;class point{public: point():x(0),y(0) { cout<<"default constructor called."<<endl; } point(int x,int y):x(x),y(y) { cout<<"constructor called."<<endl; } ~point() { cout<<"destructor called."<<endl; } int getx() const {return x;} int gety() const {return y;} void movee(int newx,int newy) { x=newx; y=newy; }private: int x,y;};int main(){ point *ptr=new point[2];//创建对象数组 ptr[0].movee(5,10);//通过指针访问数组元素的成员 ptr[1].movee(15,20);//通过指针访问数组元素的成员 cout<<"deleting..."<<endl; delete[] ptr;//删除整个对象数组 return 0;}
这里利用动态内存分配操作实现了数组的动态创建,使得数组元素的个数可以根据运行时的需要而确定。但是建立和删除数组的过程使得程序略显繁琐,更好的方法是将数组的建立和删除过程封装起来,形成一个动态数组类。
下一篇有 动态数组类的介绍。
0 0
- 动态创建数组
- C#创建动态数组
- 动态创建数组
- 创建动态数组
- 动态创建二维数组
- 动态创建数组
- C#动态创建数组
- 动态创建二维数组
- 动态创建多维数组
- 动态创建二维数组
- 动态创建数组
- 创建动态数组
- java动态创建数组
- 创建动态数组
- C#创建动态数组
- 动态创建整形数组
- 动态创建数组
- 动态创建二维数组
- bzoj 1367: [Baltic2004]sequence(中位数+可并堆)
- 自定义注解
- 加密算法—MD5、RSA、DES
- <html>多媒体
- 告别Web(二)
- 动态创建数组
- Linux应用程序访问字符设备驱动详细过程解析
- dell R710安装CentOS 6.5无法从U盘启动盘启动
- 成员函数 友元函数 一般函数的 区别
- Linux内存寻址和内存管理
- 在Eclipse中配置JavaFX包
- excel截取单元格中部分内容
- HDOJ(HDU) 2401 Baskets of Gold Coins(数列、)
- Hadoop生态圈