内存四大区域:
运行前:
全局区(存放全局变量,静态变量,常量) ,常量区中存放 const修饰的全局常量和字符串常量,静态变量为static修饰的变量
代码区(存放二进制机器指令,特点:共享与只读)
运行后:
引用就是起别名,引用必须初始化,引用在初始化后,不可以改变(就是两个东西不能有同一个别名)栈区(由编译器自由释放,如局部变量,参数) 注意:不要返回在栈中创建的局部变量的地址,地址在函数执行完会释放,就变成非法地址了
堆区(由程序员自己创建,释放);他们有不同的生命周期,在C++中主要利用new在堆区开辟内存
函数传参时,可以利用引用的技术让形参修饰实参,优点:可以简化指针修改实参;引用传递和地址传递都会修改实参,值传递不会修改实参
引用做函数返回值,不要返回局部变量的引用/不要返回局部变量的地址;如果函数的返回为引用,那么可以作为左值进行复制操作;引用的本质为指针常量,指针的指向不可以改,但指向的内容可以改常量引用主要用来修饰形参,防止误操作,加const就行