如果以后你学MFC,那基本上都是要用指针的,那么new就常用了,new是在堆上创建对象,他保存的地址不会自动销毁,但是如果不用new那么在函数
void func()
{
Student st;
st.name="hello";
}
void main()
{
func();
cout<
st只是局部变量,除了函数st就被销毁了,这样不利于传递参数等,那就得用全局变量了,而new就避免使用全局变量。
void func()
{
Student *st=new Student;
st->name="hello";
}
void main()
{
func();
cout<
}
注意上门两个程序都是片段还有class Student{};没有声明和定义,只是为了说明问题
动态创建数组的时候
例如我有很多个数
但是我不用人工去数
用函数去计
如int i=sizeof(a);//求出a的大小
int *p = new int[i];创建数组p[i],其中i就是(a大小)个
delete p[];删除p数组
当需要输入的值或计算的值来确定数组的大小时
new和delete运算符分别用于为指针变量动态分配内存空间和动态收回指针所指向的内存空间
动态申请存储空间的时候