是字符数组名,定义在函数体内[局部],所以是局部变量,位于栈区
*char2是字符数组存放的内容,位于栈区
pChar3是一个指针,指向代码段中常量字符串“abcd”,定义在函数体内[局部]...,位于栈区
*pChar3是常量字符串“abcd”,位于代码段
ptr1指向动态申请的空间,定义在函数体内[局部],位于栈区
*ptr1是动态申请的空间里的内容,位于堆区
关于第7...封装malloc只是为了符合面向对象处理出现错误的处理方式—抛异常
我们其实可以手动调用operator new函数
ps:operator new函数的使用方式和malloc一样,唯一不同的是...operator new开空间失败不会返回nullptr,而是抛异常....析构函数可以显式调用
ptr1->~A();
free(ptr1);
//上面两行相当于delete ptr1;
//上节课讲过delete等同于 调用析构函数+operator delete(失败抛异常