1.赋值重载函数
形式如下:
String::operator =(const String& str)
1由于进行的是深赋值,一定要判断是否是自我赋值;
![](https://img.haomeiwen.com/i8609250/4b0f72df1ea1b9c4.png)
2.堆和栈的内存
Stack:是存在作用域的一段内存空间,函数本身形成一段Stack,用来存放变量参数以及地址
Heap:操作系统提供的一块全局(Global)内存空间。
3.NEW的分步
Complex* pc = new Complex(1,2);
分解为
1.viod* men = operator new(sizeof(Complex)); //这里的new调用malloc
2.pc = static_cast<Complex*>(men);
3.pc->Complex::Complex(1,2);
网友评论